我正在尝试从Android设备连接(通过TCP)到我的机器上运行的服务器。我的清单文件中有android.permission.INTERNET
:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
我能够使用模拟器进行连接,但是从设备尝试会抛出错误:
Android Socket: java.net.SocketException: No route to host
谁能请帮忙。
在我的Android设备上禁用wifi,然后重新启用它,它工作。
您的192.168.1.114地址是路由器为您的PC分配的(动态)DHCP地址。因此,模拟器可以看到它。
但是,根据您的WiFi设置方式,Android可能位于不同的路由器/子网上,无法看到192.168.1.114。您可以通过在Android浏览器的地址栏中键入192.168.1.114来检查。
如果您的Android看不到192.168.1.114,那么您必须更改路由器上的路由规则以使其可见,或者为其添加DNS查找。
我遇到了同样的问题。原来我的Win7防火墙阻止了连接。
我的Android应用程序运行计算机的IP地址时遇到了同样的问题。该应用程序运行良好,然后突然凌空开始抛出异常。我尝试启用和禁用我的移动wifi,但它无法正常工作。然后我尝试关闭我的主路由器并重新打开。就像那个凌空很开心,应用程序再次开始工作:)
希望有所帮助。