什么是localhost for Android?

时间:2014-10-08 18:31:22

标签: java android

什么是' localhost' Android设备的地址?

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

<{1}}和SERVER_IP ="http://localhost"都不适用于

"http://127.0.0.1"

它给出了:

  

无法解析主机InetAddress serverAddr = InetAddress.getByName(SERVER_IP); socket = new Socket(serverAddr, SERVERPORT); :没有关联的地址   与主机名android

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

更新 感谢所有评论:"http://localhost"是不明智的。正确的是"http://localhost""localhost""127.0.0.1"等。但我希望最好的解决方案是明确的答案。

2 个答案:

答案 0 :(得分:3)

Sockets通过TCP进行通信,这是一种比HTTP更低级别的协议。当您为套接字通信识别server address时,请使用服务器的裸名称(例如,&#34; localhost&#34;)或点分四(例如&#34; 192.168.0.100&# 34。)

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

如果我理解正确的问题并且目标是从同一台机器(手机)打开一个插座,你可以使用

InetAddress serverAddr = InetAddress.getByName(null);

获得&#34; loopback&#34; interface,相当于使用localhost。

答案 1 :(得分:1)

根据this回答,您只需使用本地IP作为localhost即可。你可以在Windows上使用ipconfig或在linux上使用ifconfig找到它。

显然你也可以替换10.0.2.2