Caused by: android.system.ErrnoException: isConnected failed: EHOSTUNREACH (No route to host)

昨天還能訪問,不管是通過瀏覽器還是android客戶端,今天瀏覽器輸入地址:http://192.168.8.101:8080/QzoneServer/UserServer?action=1&username=admin&password=123456
就報錯,android客戶端也登錄失敗。
android日誌報錯如下:
11-29 17:20:26.889: W/System.err(32574): org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.8.101:8080 refused
11-29 17:20:26.889: W/System.err(32574): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:193)
11-29 17:20:26.889: W/System.err(32574): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
11-29 17:20:26.889: W/System.err(32574): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
11-29 17:20:26.889: W/System.err(32574): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366)
11-29 17:20:26.890: W/System.err(32574): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:596)
11-29 17:20:26.890: W/System.err(32574): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:517)
11-29 17:20:26.890: W/System.err(32574): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:495)
11-29 17:20:26.890: W/System.err(32574): at com.higgs.qqzone1.common.HttpCommon.doGet(HttpCommon.java:89)
11-29 17:20:26.890: W/System.err(32574): at com.higgs.qqzone1.common.HttpCommon.doGet(HttpCommon.java:137)
11-29 17:20:26.890: W/System.err(32574): at com.higgs.qqzone1.dao.impl.UserInfoDaoImpl.userLogin(UserInfoDaoImpl.java:62)
11-29 17:20:26.890: W/System.err(32574): at com.higgs.qqzone1.biz.UserInfoBiz.userLogin(UserInfoBiz.java:16)
11-29 17:20:26.890: W/System.err(32574): at com.higgs.qqzone1.LoginActivityUserLoginAsy.doInBackground(LoginActivity.java:63)112917:20:26.890:W/System.err(32574):atcom.higgs.qqzone1.LoginActivity UserLoginAsy.doInBackground(LoginActivity.java:1)
11-29 17:20:26.890: W/System.err(32574): at android.os.AsyncTask2.call(AsyncTask.java:307)112917:20:26.890:W/System.err(32574):atjava.util.concurrent.FutureTask.run(FutureTask.java:237)112917:20:26.890:W/System.err(32574):atandroid.os.AsyncTask SerialExecutor1.run(AsyncTask.java:246)112917:20:26.890:W/System.err(32574):atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)112917:20:26.890:W/System.err(32574):atjava.util.concurrent.ThreadPoolExecutor Worker.run(ThreadPoolExecutor.java:588)
11-29 17:20:26.890: W/System.err(32574): at java.lang.Thread.run(Thread.java:833)
11-29 17:20:26.890: W/System.err(32574): Caused by: java.net.ConnectException: failed to connect to /192.168.8.101 (port 8080) after 5000ms: isConnected failed: EHOSTUNREACH (No route to host)
11-29 17:20:26.890: W/System.err(32574): at libcore.io.IoBridge.isConnected(IoBridge.java:234)
11-29 17:20:26.890: W/System.err(32574): at libcore.io.IoBridge.connectErrno(IoBridge.java:171)
11-29 17:20:26.890: W/System.err(32574): at libcore.io.IoBridge.connect(IoBridge.java:122)
11-29 17:20:26.890: W/System.err(32574): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
11-29 17:20:26.890: W/System.err(32574): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:452)
11-29 17:20:26.890: W/System.err(32574): at java.net.Socket.connect(Socket.java:938)
11-29 17:20:26.890: W/System.err(32574): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:124)
11-29 17:20:26.890: W/System.err(32574): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:149)
11-29 17:20:26.891: W/System.err(32574): … 18 more
11-29 17:20:26.891: W/System.err(32574): Caused by: android.system.ErrnoException: isConnected failed: EHOSTUNREACH (No route to host)
11-29 17:20:26.891: W/System.err(32574): at libcore.io.IoBridge.isConnected(IoBridge.java:223)
11-29 17:20:26.891: W/System.err(32574): … 25 more
-------------------------------
查了半天資料,最後通過stackoverflow.com的回答,判斷是網絡問題,不是服務端程序也不是客戶端程序的問題。用公司的路由器依舊是不行的,以前測試一直用自己的喵王E5730,昨天還行,今天就不行了!?重啓自己的路由器也不行,最後把路由器恢復出廠設置。再次通過手機瀏覽器可以訪問服務端地址了。把android客戶端加入到和服務端在同一個路由器下,然後修改android客戶端裏的訪問地址爲服務器的ip地址。再次打包apk運行後就可以登錄了!
雖然可以訪問外網,但是通過手機瀏覽器訪問不了,說明客戶端沒有問題,而且之前客戶端一直能用的。服務端也沒有改動過什麼,問題就出在連接兩者的網絡上。重啓路由器和恢復出廠設置的效果是不一樣的。

發佈了54 篇原創文章 · 獲贊 143 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章