我开发了多个需要通过套接字相互通信的应用程序。首先,我需要他们能够在localhost上进行通信。因此,当我在手机上同时运行它们时,它们可以进行通信(我知道有更简单的方法可以在同一部手机上执行此操作,但将来它们将在不同的手机上运行)。
我的套接字通信代码非常类似于:link
不同之处在于我的应用程序将其作为前台服务运行。
我已将客户端服务器的IP设置为127.0.0.1,但他们只是没有连接(不是在模拟器中而是在真实手机上)。我错过了什么?
更新 我找到了一种简单的方法来获取设备自己的IP地址,因此我使用此功能(使用www.google.com域名)代替localhost:answer to "java InetAddress.getLocalHost(); returns 127.0.0.1 … how to get REAL IP?"
也许它不太好但是有效。
答案 0 :(得分:1)
您需要设置每个IP地址,以便他们可以在您的LAN内进行通信。所以使用像192.168.1.X这样的地址。如果您将设备作为虚拟或物理设备运行,您可以轻松地知道他们访问路由器的Web界面并查看其绑定IP的本地IP地址。