【发布时间】:2014-03-17 13:34:43
【问题描述】:
我正在开发多个需要通过套接字相互通信的应用程序。首先,我需要他们能够在 localhost 上进行通信。因此,当我在手机上同时运行它们时,它们可以进行通信(我知道在同一部手机上可以更简单地执行此操作,但将来它们将在不同的手机上运行)。
我的套接字通信代码与此非常相似:link
不同之处在于我的应用程序将其作为前台服务运行。
我已将客户端上服务器的 ip 设置为 127.0.0.1,但它们就是无法连接(不在模拟器中,也不是在真手机上)。我错过了什么?
更新: 我找到了一种简单的方法来获取设备自己的 IP 地址,因此我使用的是 localhost(使用 www.google.com 域)而不是 localhost:answer to "java InetAddress.getLocalHost(); returns 127.0.0.1 … how to get REAL IP?"
也许它不太好,但它确实有效。
【问题讨论】:
-
“我的代码 ... 与 ... 非常相似”会导致很多假设,并且经常会导致完全遗漏的问题 => 发布 您的 代码。如果only“区别在于我的应用程序将其作为前台服务运行”,那么您的代码应该是相同的,因为您没有在代码中设置运行模式。为了通过套接字与任何设备通信,双方都需要知道彼此的 IP 地址才能连接。
-
我没有添加我的代码的原因是我的问题并没有真正涉及它,因为我知道它应该可以工作(你可以在链接上看到这没什么大不了的)。我只是问是否有办法获取环回 IP 或 localhost 以进行套接字通信,但似乎没有简单的方法。
标签: java android sockets localhost