我在做一个android手机 wifi方面的项目遇到的问题是这样的:首先,wifi是没有问题的,可以正常打开网页、登陆服务器等不过当在我的项目中做了一些操作时,再向服务器发送/接收数据时,就报java.net.SocketException: No route to host这时在浏览器中也打不开网页了,但是wifi显示的还是连接状态,wifi路由器中也显示我的手机已连接,且有ip地址,但是无法ping通断开wifi再连接的话,会很长一段时间连接不上,连接上了也还是有同样的No route to host问题换其他的wifi路由器可以打开网页、登陆服务器,不过一旦我进入到我的程序中就又会遇到同样的问题----------------以下是我的猜测--------------我在网上查阅了很多资料,貌似是路由器block的问题我感觉问题应该是出在我的程序上,不过我不知道,什么操作会让路由器block请不吝赐教,谢谢!

解决方案 »

  1.   

    楼主问题解决没,求教
    我的问题类似:
    Messagejava.net.SocketException: No route to host
    at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
    at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357)
    at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207)
    at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:440)
    at java.net.Socket.connect(Socket.java:1013)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)报错的代码段:
    URL url = new URL(validateUrl);
    conn = (HttpURLConnection) url.openConnection();
    conn.setConnectTimeout(5000);
    conn.setRequestMethod("GET"); // 请求格式
    conn.connect();