Java Android的localhost是什么?

Java Android的localhost是什么?,java,android,Java,Android,Android设备的“本地主机”地址是什么 我正在同一个应用程序中使用客户端和服务器测试一个程序 都不是SERVER\u IP=”http://localhost“或”http://127.0.0.1“适用于 InetAddress serverAddr = InetAddress.getByName(SERVER_IP); socket = new Socket(serverAddr, SERVERPORT); 它给出: 无法解析主机“http://localhost“:没有关联的地址 使用

Android设备的“本地主机”地址是什么

我正在同一个应用程序中使用客户端和服务器测试一个程序

都不是
SERVER\u IP=”http://localhost“
”http://127.0.0.1“
适用于

InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
它给出:

无法解析主机
“http://localhost“
:没有关联的地址 使用安卓主机名

使用localhost的最佳方式是什么

更新 感谢所有评论:
“http://localhost“
不正确。右边是
“localhost”
“127.0.0.1”
“127.0.0.2”
,等等。但我希望最好的解决方案是有标记的答案。

根据答案,您可以简单地使用本地IP充当本地主机。您可以通过在Windows上使用ipconfig或在linux上使用ifconfig来找到它

显然,您也可以用TCP代替10.0.2.2,TCP是一种比HTTP级别更低的协议。识别套接字通信时,请使用服务器的裸名称(例如“localhost”)或虚线四元组(例如“192.168.0.100”)

不包括http://或任何其他方案

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

InetAddress serverAddr = InetAddress.getByName(null);

获取“环回”接口,这相当于使用localhost。

try 127.0.2.2的可能副本。请告诉我,您正在emulator上测试客户端吗?@AllIsWell no.127.0.0.2在真实设备上不起作用。@AdamS谢谢。我看到了这个答案。但这不是我想要的。
SERVER\u IP=”http://localhost“也不”http://127.0.0.1“
。不要指定协议,当然也不要指定http。请尝试
SERVER\u IP=“localhost”或“127.0.0.1”
。事实上,这是在同一个应用程序中还是在同一台设备上?@RyPole 10.0.2.2不起作用。也许最好的办法是使用当前的IP。是的,请记住,它不是您的公共IP,而是您的网关。即使我尝试不使用“http://10.0.2.2”而是“10.0.2.2”,这个IP也不起作用。这就是我想要的!谢谢。已接受连接。s、 getRemoteSocketAddress()