gpt4 book ai didi

android - 如何让两个android设备通过TCP进行通信

转载 作者:IT老高 更新时间:2023-10-28 23:00:52 26 4
gpt4 key购买 nike

我们想在两个安卓设备之间建立 TCP/IP 连接。现在我们认为如果我们将设备连接到设备会更简单。所以两部手机之间没有服务器。

大多数时候(如果不是总是)没有真实的 IP 地址(NAT 等)。这是创建 TCP 套接字的问题吗?我没有找到任何确切的信息。任何建议和意见都将受到高度赞赏。

谢谢

最佳答案

Is this a problem for creating a TCP socket?

答案是否定的,这并不意味着不可能(除非 NAT 具有不可预测的 IP 地址映射方式)。但是,要做到这一点并不容易。

简短的回答是,您总是需要一个具有公共(public) IP 地址的类似服务器的对等点,以促进位于 NAT 后面的对等点之间的初始通信。对等点连接到它。 A 告诉服务器它想与 B 建立 TCP 连接。服务器通知 B。执行 NAT 行为分析,如果可能,A 和 B 通过预测 other 的下一个映射来尝试打开彼此的 TCP 通信NAT。如果一切顺利(通常情况下),A 与 B 接触基地,反之亦然。它们关闭其他连接尝试并与可操作的 TCP 连接进行通信。这种技术称为 TCP 的 STUN。

现在,出现问题的原因更为复杂。如果您想了解更多信息,我已经写了一本名为 Practical JXTA II 的书,可以在 Scribd 在线阅读。有一章专门介绍 NAT 穿越。

希望这会有所帮助。

关于android - 如何让两个android设备通过TCP进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4526830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com