我遇到了一个有趣的问题。基本上,我有两部都在NAT后面的手机。我想使用UDP直接在这两个设备之间进行通信。
我知道如果我从手机向服务器发起连接,那么我可以将数据推送回该连接以便将数据发送回相同的端口和IP地址(即从收到消息的端口和IP地址发送它)。因此,我可以通过将两部手机连接到服务器来轻松地在两个设备之间进行通信。然后将数据发送到服务器并将其重新路由回手机。这可以避免任何可能遇到的NAT穿透问题。
但是我宁愿让服务器将这两个设备指向对方,然后让它们直接通信。我该如何做到这一点?是否可以不使用像uPnP这样的东西来实现呢?
任何帮助都将不胜感激!
编辑:我找到了这篇文档http://www.brynosaurus.com/pub/net/p2pnat/ 它看起来就像是我想要的hairpin转换,但它似乎没有得到广泛支持。我想知道移动ISP对UPnP的支持情况如何?