我一直在阅读WebRTC
及其如何启用peer to peer
通讯。所以,我做了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中输入的任何消息。
任何人都可以帮助我完成这项工作吗?