首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从NAT到NAT的连接

从NAT到NAT的连接
EN

Stack Overflow用户
提问于 2011-02-22 11:51:30
回答 2查看 7.6K关注 0票数 12

我遇到了一个有趣的问题。基本上,我有两部手机都在NAT后面。我想使用UDP直接在这两个设备之间进行通信。

我知道,如果我启动了从电话到服务器的连接,那么我可以将数据推回电话(即从接收消息的同一个端口发送回接收消息的同一个ip和端口)。因此,我可以通过将两部手机连接到服务器来轻松地在这两个设备之间进行通信。然后将数据发送到服务器并将其重新路由回电话。这将绕过我可能遇到的任何NAT穿越问题。

然而,我宁愿使用服务器将两个设备指向对方,然后让它们直接通信。我该怎么做呢?如果不使用像uPnP这样的东西,这有可能吗?

任何帮助都会大受欢迎!

编辑:我发现这个文档-- http://www.brynosaurus.com/pub/net/p2pnat/ --看起来就像我想要的发夹翻译,但是它看起来不被广泛支持。我想知道移动ISP对UPnP的支持有多好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-22 11:56:58

你要找的是UDP打孔,参见http://en.wikipedia.org/wiki/UDP_hole_punching

基本思想很简单,您告诉每个端点要使用的端口,然后它们开始发送udp数据包。NAT‘’ing设备在看到第一个传出数据包时将设置一个遍历规则,然后另一端的下一个尝试将与此遍历规则相匹配。

票数 4
EN

Stack Overflow用户

发布于 2011-02-22 11:55:52

您需要一个中介服务器,这样客户端就可以知道它们在哪里了。然后一个通过uPNP打开一个服务器,另一个连接到它。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5077720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档