我经历了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