2012-04-04 22 views

回答

1

您需要將您的動態IP映射到某個靜態DNS名稱。一個易於使用解決方案將是一個DynDNS服務。對於這些,你會得到一個小型的客戶端程序(或者好的路由器已經有一個dyn dns客戶端已經實現了),它簡單地將你當前的IP地址映射到一個特定的DNS名字。

完成這項工作後,它取決於您喜歡它的變化程度: - 您是否有一位主人應該能夠在各種客戶端PC上尋找幫助? - 你喜歡連接兩個都有動態IPS的客戶嗎?

在第一種情況下,您的主人是一個總是確保將他的當前IP地址映射到DNS名稱的人。在路由器上,可能需要一些端口轉發,並且您的客戶端會啓用啓用反向模式的vnc客戶端。這樣,每個人都可以與主控建立連接並共享桌面,而無需在客戶端上進行任何更改。只有在主站點上才能完成任務(dynDns和端口轉發)。

在第二種情況下,它有點複雜。現在你有兩個喜歡互相連接的動態IP地址。這通常通過某種中介來完成。意味着兩臺機器都連接到某個主機(通過某些DNS名稱可訪問)。現在,這兩臺機器都與主機有雙向連接,主機只需從第一個客戶機獲取數據並將其轉發到第二個客戶機,反之亦然。爲了承擔主人的所有負擔,主人可能會在第一步中將客戶端A的IP地址發送給B,反之亦然。然後在第一步中直接嘗試互相連接。這種方法稱爲UDP打孔,並不總是工作,這會導致後備使用主站。

使用第二種方法的兩個示例是Skypejoin.me

所有這些技術都不需要對.Net進行任何操作。這是關於以太網,TCP/IP,互聯網等的純粹知識。由於你必須在這個低層領域做很多工作,所以我認爲C#不是完成這個任務的理想框架。也許把GUI作爲最後一步,但對於幕後的真實工作,您需要一些體面的網絡知識,這些知識大多獨立於您正在使用的編程語言。

1

你應該運行你自己的DNS服務器。每當用戶打開瀏覽器並登錄時,您應該將用戶的當前IP地址發送到您的服務器,並在本地DNS中進行更新。既然你只有一個子域名(desktop.operaunitecom),每當有人點擊你的url,它首先會從operaunite DNS服務器獲取你的IP地址。當用戶的會話關閉時,您應該刪除DNS條目。這可能是一個可能的解決方案。

相關問題