我一直在阅读关于WebRTC
以及它如何使peer to peer
沟通。所以,我做了一个针对NAT
遍历的实验。NAT穿越实验?
实验目的是在NAT
中测试打孔。我有两个系统都在运行Ubuntu 16.04
。我将把这些系统称为system A
和system B
。
这两个系统都连接到托管在Amazon Web Services上的服务器。系统A使用的命令nc -p 1234 -u IP_ADDRESS_OF_SERVER PORT_NUMBER_OF_SERVER
和系统B使用命令nc -p 1235 -u IP_ADDRESS_OF_SERVER PORT_NUMBER_OF_SERVER
。系统A和系统B都连接到相同的WiFi路由器。
连接到服务器后,我们了解了两个系统的public socket
。之后,我尝试使用我们在几秒钟内从服务器获取的公共套接字的信息连接对方。
系统A从服务器断开连接并通过使用命令nc -u -p 1234 PUBLIC_IP_OF_SYS_B PUBLIC_PORT_OF_SYS_B
连接到系统B,并且系统B也通过使用命令nc -u -p 1235 PUBLIC_IP_OF_SYS_A PUBLIC_PORT_OF_SYS_A
将服务器与服务器断开连接并连接到系统A.
我这样做是为了在我们的NAT中打个洞。之后,系统A取消上述nc
命令并使用nc -l -u -p 1234
收听它的端口。但不幸的是,我无法收到系统A中系统B中键入的任何消息。
任何人都可以帮助我完成这项工作吗?
不知道为什么要去所有这些麻烦,如果你只能运行一个WebRTC服务,看看会发生什么。 尝试https://appear.in或https://talky.io。如果他们工作,然后NAT穿越工作(或没有NAT干扰你)。 –
@abhiarora - 很好,更努力。 –
@Am_I_Helpful - 你有没有尝试过吗? 你能提出一些建议吗? – abhiarora