0

嘿,我只是网络的初学者。

考虑到 wifi 和 GPRS/3G 连接中有 Nat 路由器,是否可以在不使用任何中间专用服务器的情况下通过 Internet 使用套接字将两个 android 设备相互连接。

我听说您需要先向其他设备发送一条传出消息,然后只有 NAT 才会允许该设备回复您。但是当两个设备都在 NAT 后面时,第一个消息或数据包如何到达其中的任何一个?

编辑:观察-> 当我查询我的公共 IP 地址的位置时,我会得到随机的地方,比如其他城市,有时还有其他州!!!怎么了?谁能解释一下?

4

1 回答 1

1

这种解决方案的整体设计涉及使用第三方服务器。为了让客户端相互连接,对方必须知道它们的公共 IP(即 NAT IP)。当我不得不做类似的事情时,我实现了STUN,这是ICE建立对等连接的技术的一部分。STUN 支持 TCP 和 UDP 流量。如果您想了解 STUN,您还应该阅读TURN

尽管 STUN 需要第三方用户才能让客户端直接连接,但仍有许多公共 STUN 服务器可用。这是快速谷歌搜索出现的列表之一。

于 2013-05-07T09:47:59.427 回答