按主机名连接

时间:2011-05-18 06:52:33

标签: 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 Socket();
InetSocketAddress address = new InetSocketAddress("comp2", 8082);
socket.connect(address);

我明白了:

java.net.UnknownHostException: Host is unresolved: comp2:8082

当我使用Windows命令提示符ping(通过主机名)我的计算机和同一网络上的其他计算机时,我收到回复。
关于如何让它运作的任何想法?

2 个答案:

答案 0 :(得分:3)

我解决了。 显然,与在Windows中运行的某些服务相比,模拟器不会将名称comp2转换为完整主机名comp2.letre.ltd。 改变

InetSocketAddress address = new InetSocketAddress("comp2", 8082);

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

修好了

答案 1 :(得分:0)

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