我一直在閱讀關於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