Android Socket:java.net.SocketException:没有到主机的路由

问题描述 投票:5回答:4

我正在尝试从Android设备连接(通过TCP)到我的机器上运行的服务器。我的清单文件中有android.permission.INTERNET

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

我能够使用模拟器进行连接,但是从设备尝试会抛出错误: Android Socket: java.net.SocketException: No route to host

谁能请帮忙。

sockets tcpclient android
4个回答
15
投票

在我的Android设备上禁用wifi,然后重新启用它,它工作。


5
投票

您的192.168.1.114地址是路由器为您的PC分配的(动态)DHCP地址。因此,模拟器可以看到它。

但是,根据您的WiFi设置方式,Android可能位于不同的路由器/子网上,无法看到192.168.1.114。您可以通过在Android浏览器的地址栏中键入192.168.1.114来检查。

如果您的Android看不到192.168.1.114,那么您必须更改路由器上的路由规则以使其可见,或者为其添加DNS查找。


0
投票

我遇到了同样的问题。原来我的Win7防火墙阻止了连接。


0
投票

我的Android应用程序运行计算机的IP地址时遇到了同样的问题。该应用程序运行良好,然后突然凌空开始抛出异常。我尝试启用和禁用我的移动wifi,但它无法正常工作。然后我尝试关闭我的主路由器并重新打开。就像那个凌空很开心,应用程序再次开始工作:)

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.