关于Java:Android的localhost是什么?

What is localhost for Android?

Android设备的"本地主机"地址是什么?

我正在同一客户端上使用客户端和服务器测试程序。

SERVER_IP ="http://localhost""http://127.0.0.1"均不适用于

1
2
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);

它给:

Unable to resolve host "http://localhost": No address associated
with hostname android

使用localhost的最佳方法是什么?

更新
感谢所有注释:"http://localhost"是错误的。 正确的是"localhost""127.0.0.1""127.0.0.2"等。但是我希望最好的解决方案是标记答案。


套接字通过TCP进行通信,TCP是一种比HTTP低的协议。 在标识用于套接字通信的服务器地址时,请使用服务器的裸名(例如," localhost")或点分四边形(例如," 192.168.0.100")。

不要包含http://或任何其他方案。

如果我正确理解了这个问题,并且目标是在同一台机器(电话)之间打开一个插座,则可以使用

1
InetAddress serverAddr = InetAddress.getByName(null);

获取"回送"接口,等效于使用localhost。


根据此答案,您可以简单地使用本地IP充当localhost。 您可以在Windows上使用ipconfig或在Linux上使用ifconfig来找到它。

显然,您也可以用10.0.2.2代替