嘿,我只是网络初学者。
是否可以通过互联网使用套接字将两个Android设备相互连接,而无需使用任何中间专用服务器,因为在WiFi和GPRS / 3G连接中有Nat路由器。
我听说您需要先向其他设备发送外发留言,然后只有NAT会允许该设备回复给您。但是当NAT后面的两个设备如何将第一个消息或数据包传达给他们中的任何人?
编辑:观察 - >当我查询我的公共IP地址的位置时,我得到随机的地方 像其他城市,有时其他州!怎么了?任何人都可以解释一下吗?
答案 0 :(得分:1)
此类解决方案的总体设计涉及使用第三方服务器。为了使客户端彼此连接,他们的公共IP(即,NAT IP)必须为另一方所知。当我不得不做类似的事情时,我实现了STUN,这是用于建立点对点连接的ICE技术的一部分。 STUN支持TCP和UDP流量。如果你想了解STUN,你还应该阅读TURN。
即使STUN要求客户的第三方用户能够直接连接,也有许多公共STUN服务器可用。这是one of the lists快速谷歌搜索。