Android 按主机名连接

Android 按主机名连接,android,android-emulator,intellij-idea,dns,hostname,Android,Android Emulator,Intellij Idea,Dns,Hostname,我的本地计算机(Windows 7)上运行一台服务器,它侦听传入的tcp套接字连接。在同一台机器上,我通过IntelliJ运行Android Emulator 执行以下操作时建立连接: Socket socket = new Socket(); InetSocketAddress address = new InetSocketAddress("10.0.2.2", 8082); socket.connect(address); 但在按主机名进行尝试时: Socket socket = new

我的本地计算机(Windows 7)上运行一台服务器,它侦听传入的tcp套接字连接。在同一台机器上,我通过IntelliJ运行Android Emulator

执行以下操作时建立连接:

Socket socket = new Socket();
InetSocketAddress address = new InetSocketAddress("10.0.2.2", 8082);
socket.connect(address);
但在按主机名进行尝试时:

Socket socket = new Socket();
InetSocketAddress address = new InetSocketAddress("comp2", 8082);
socket.connect(address);
我得到:

java.net.UnknownHostException: Host is unresolved: comp2:8082
当我使用windows命令提示符ping(通过主机名)我的计算机和同一网络上的其他计算机时,我会收到回复。

你知道如何让它工作吗?

请检查解析主机名和相应IP地址的DNS条目。

我已经解决了。 与在windows中运行的某些服务相比,emulator显然没有将名称comp2转换为完整的主机名comp2.letre.ltd。 改变

修好了

InetSocketAddress address = new InetSocketAddress("comp2", 8082);
InetSocketAddress address = new InetSocketAddress("comp2.letre.ltd", 8082);