【发布时间】:2012-12-31 13:52:45
【问题描述】:
我想在 NAT 后面的 2 个客户端之间建立 P2P 连接。我研究了使其工作的方法,我想尝试“UDP打孔方法”。
所以...
我用 PHP 做了一个服务器,它可以根据需要向客户端发送连接详细信息(如远程 IP、远程端口)。
示例源代码在这里:http://pastebin.com/FdiKMSFq
接下来,我用 C# 创建了一个客户端,它永久连接到服务器并询问他有关另一个客户端的信息。客户端收到另一个客户端的远程 IP 和远程端口(用于连接服务器)并尝试连接。
完整源代码在这里:http://pastebin.com/VUJyZivW
第一步(连接并询问详细信息)是可以的,但是当客户端 (A) 连接到另一个客户端 (B) 并发送一些数据 (A->B) 时,客户端 B 没有收到任何数据。
我将两个 IPEndPoints 都设置为使用端口 2000。但它仍然不起作用。
例子:
- A: 192.168.1.11:2000,服务器获取 32.14.15.16:56666
- B: 192.168.1.5:2000,服务器获取 32.99.15.16:56699
- A 尝试连接 32.99.15.16:56699 并发送一些数据
【问题讨论】: