2012-03-29 87 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); 
(...)