我正在创建一个应用程序来在两个 Android 之间建立通信 mobiles
使用 TCP 套接字通过互联网。因此,我将主要使用两个 mobiles
的 IP 地址与我喜欢的应用程序端口号。
这可能吗?要创建自定义 TCP 端口并像在 LAN 中一样通过互联网进行通信?
到目前为止,我能够在 LAN 中的两个模拟器之间成功进行通信。但在模拟器的情况下,不可能通过互联网执行相同的操作,因为通常主机是 behind a router
仅允许数据发送到端口 8080
或80
我不知道。当然,可以完成端口转发,但我不想弄脏它。
所以,
局域网内的模拟器连接是否保证mobile
互联网连接? 因为 mobile with direct net connectivity
只有单个IP地址(没有私有(private)和外部IP)并且没有路由器来阻止流量。
最佳答案
您听说过打洞技术吗?阅读有关此内容 - 也许会有帮助。 link我认为这就是 Skype 的工作原理。该技术需要另一个通信节点 - 两个客户端都可以访问的服务器,并且即使其中一个客户端位于 NAT 之后,它也有助于在两个客户端之间建立直接连接。
关于Android TCP 通过互联网(非 LAN)进行通信。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12520437/