2012-03-29 112 views
1

我試圖創建一個服務器/客戶端應用程序,它可以在兩個或多個遠程計算機上工作,而它們之間沒有本地網絡。 所以我搜索了互聯網,找到了一個TON和TONES的C#UDP客戶端/服務器示例,就像here遠程UDP發送和接收

但是我沒有找到任何地方如何通過互聯網在遠程計算機上發送UDP套接字,可以說IP =「130.204.159.205」;

請與您的回答給我一些示例代碼

+0

通過UDP發送文件與TCP沒有多大區別。您使用的端口必須在接收計算機上打開,並且偵聽該端口的應用程序已準備好對接收到的數據執行操作。 – 2012-03-29 16:13:46

+0

如果您有電纜/ ADSL/DSL路由器,可能是您正在使用[NAT](http://en.wikipedia.org/wiki/Network_address_translation),這意味着您的計算機所具有的IP地址無法通過互聯網訪問。如果這是真的,你將需要配置你的路由器,以允許UDP流量通過你選擇的端口。 (也有一些操作系統[限制端口](http://en.wikipedia.org/wiki/Well_known_ports#Well-known_ports),一個普通的用戶帳戶可能用來避免惡意軟件竊取衆所周知的端口。) – 2012-03-29 16:16:23

回答

0

您鏈接顯示how to create the socket的例子,只是刪除線IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName())並投入使用this constructor和一個字節數組傳遞您的IP地址130.204.159.205

(...) 
// Connect to a remote device. 
try { 
    // Establish the remote endpoint for the socket. 
    // This example uses port 11000 on the local computer. 
    IPAddress ipAddress = new IPAddress(new byte[] { 130, 204, 159, 205}); 
    IPEndPoint remoteEP = new IPEndPoint(ipAddress,11000); 
(...)