我处理移动设备和用户电话之间点对点通信的设计。移动设备的目标是汽车,因此它可能连接到许多不同的ISP。也可以预期客户端经常断开连接。我需要在NAT遍历技术中找到最佳解决方案,这种技术适用于移动网络的条件,与通常的WiFi网络差别不大。我搜索经常使用的技术并发现了许多不同的实践,例如 TCP 或 UDP Hole Punching , NUTSS , NATBLASTER , NatTrav 或STUN或ICE等官方协议。
有没有人可以告诉我在类似条件下经过尝试和验证的技术?
非常感谢
答案 0 :(得分:1)
要实现点对点(P2P)或中继连接,您需要实现一个名为ICE的协议。此协议允许您进行100%NAT遍历。这是目前存在的最佳解决方案。您还需要STUN / TURN服务器。
即使是最好的解决方案ICE,您也不会在同行之间获得100%的P2P连接。某些连接将通过名为TURN的中继服务器建立。这取决于同行背后的NAT类型。
TCP或UDP打孔是一种特殊的技术,允许一些通常会被中继的连接是P2P。还有其他类似的技术,但是在你实现ICE并拥有STUN / TURN服务器之后。
有很多开源STUN / TURN服务器,有些公司为ICE提供解决方案。一些公司提供整个NAT遍历解决方案,提供ICE实现和STUN / TURN服务器支持。
答案 1 :(得分:0)
除了TURN之外,您还可以尝试UDP多孔打孔,尽管它可能太不可靠而且不值得麻烦#34;
https://drive.google.com/file/d/0B1IimJ20gG0SY2NvaE4wRVVMbG8/view?usp=sharing