我想在 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 并发送一些数据