【发布时间】:2012-02-19 22:10:50
【问题描述】:
我正在编写一个代码,其中 android 手机是客户端尝试使用 WIFI 连接到我的电脑上的服务器。我按如下方式打开套接字:
try {
servsock = new ServerSocket(13299);
System.out.println("Listening :13299");
} catch (IOException e) {
e.printStackTrace();
}
while (true) {
Socket sock = servsock.accept();
在客户端:
Socket sock = new Socket("192.168.0.108", 13299);
Log.i("sending","sending");
但是我在 logcat 上收到:“No route to host”我已经搜索并在 manifest.xml 中插入了使用互联网的权限,并从我的手机 ip 192.168.0.107 ping 到 ip 192.168 的 pc 服务器.0.108.
我错过了什么?为什么没有建立 tcp 套接字连接?服务器是用netbeans编写的。和端口有关系吗?
编辑:我认为问题出在 IP 地址上。我根据cmd窗口中“ipconfig”的输出设置了服务器的地址(私有地址)。
【问题讨论】:
-
如果你telnet到192.168.0.108 13299,PC可以连接到自己吗?可能是绑定地址或防火墙问题。
-
是的,我可以远程登录,我关闭了防火墙,但问题仍然存在
-
我猜你尝试 telnet 到 127.0.0.1/localhost 而不是 192.168.0.108 因为下面@BrianRoach 的回答可能是你的问题。
-
尝试通过ServerSocket server = new ServerSocket( myTcpPort, 0, androidDeviceAddress );看看会发生什么,不要使用通配符。
-
java.net.BindException:无法分配请求的地址:JVM_Bind 这是我收到的错误,为什么我这样做