我經歷了Programming P2P application SO帖子。但我認爲我還不清楚STUN如何在引擎蓋下工作。瞭解眩暈工作
所以,我想發佈我的理解並希望能夠糾正它們。
具體根據示例
假設機(A)IP是關於(STUN服務器上TCP客戶端請求)4900
(在4900
在TCP上運行TCP客戶端請求STUN服務器)和STUN服務器運行192.168.1.2
返回的公共NAT設備即128.11.12.13
8888
現在我希望機器B的IP(假設現在B知道公共IP 128.11.12.13
)連接到機器A通過端口3000
(TCP)
什麼在這之後發生的事情 -
乙試圖將一個帶有IP上128.11.12.13
問題1連接:但哪個端口? (它不能直接連接到端口3000)
我想這個答案將我端口轉發4900
請求3000
。
但這裏的事情
問題-2:怎麼樣連接到STUN對4900服務器的TCP客戶端(發送指示等)。如果應用端口轉發,則所有來自Stun服務器的流量都將被重定向到端口3000.對吧?
我正確嗎?
這是什麼方法或我在這裏大聲思考? :)
你能否解釋一下,stun-client在接收到一個成功的stun響應後必須關閉與stun服務器的連接的最後一件事(原因是Stun RFC指出一個代理(可以是客戶端或者stun服務器)可以隨時發送指示消息給定如果我不關閉端口'3000'的stun-client,我將無法在特定端口啓動TCP服務器,也就是'3000',因爲它,對吧?假設TCP服務器將使用「任何地址」 – Viren