Android localhost上的套接字通信



我正在开发多个需要通过套接字相互通信的应用程序。首先,我需要他们能够在本地主机上通信。所以当我在我的手机上同时运行它们时,它们可以通信(我知道在同一部手机上有更简单的方法来做到这一点,但将来它们将在不同的手机上运行)。

我的套接字通信代码与此非常相似:link

不同之处在于我的应用程序将其作为前台服务运行。

我已经将客户端的服务器ip设置为127.0.0.1,但它们只是不会连接(不在模拟器中,也不在真正的手机上)。我错过了什么?

更新:我找到了一个简单的方法来获得设备自己的IP地址,所以我使用这个(www.google.com域)而不是localhost:回答"java InetAddress.getLocalHost();返回127.0.0.1…如何获得真实IP?"

您需要设置每一个的本地IP地址,以便它们可以在您的局域网内通信。所以请使用192.168.1.X这样的地址。无论是虚拟设备还是物理设备,你都可以很容易地知道它们访问路由器web界面的本地IP地址,并看到它们绑定的IP地址。

最新更新