Android ConnectException - 没有到主机的路由

时间:2017-08-29 18:38:22

标签: android sockets connection

所以我有一个通过Socket与服务器通信的android应用程序。它昨天在某一点工作。在晚上我想更多地工作,但它抛出一个异常,而我根本没有修改代码。 在重新设计项目2次后,我测试了与我知道100%工作的应用程序的连接,因为我几天前尝试过。

在网上研究我的问题后,我发现它可能是由于我昨天安装的恶意软件。我卸载了它,但它仍然无法正常工作。

我不会在这里发布任何代码,因为它不相关。 (正如我所说,我尝试了一些应该有用的东西,但它并没有)

java.net.ConnectException: failed to connect to /(my ip is here) (port 2225): connect failed: EHOSTUNREACH (No route to host)
                                                                    at libcore.io.IoBridge.connect(IoBridge.java:124)
                                                                    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
                                                                    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:163)
                                                                    at java.net.Socket.startupSocket(Socket.java:592)
                                                                    at java.net.Socket.<init>(Socket.java:226)
                                                                    at com.shoppiness.radu.jshoppiness.Client.run(Client.java:63)
                                                                    at com.shoppiness.radu.jshoppiness.MainActivity$connectTask.doInBackground(MainActivity.java:77)
                                                                    at com.shoppiness.radu.jshoppiness.MainActivity$connectTask.doInBackground(MainActivity.java:61)
                                                                    at android.os.AsyncTask$2.call(AsyncTask.java:295)
                                                                    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
                                                                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                                    at java.lang.Thread.run(Thread.java:818)
                                                                 Caused by: android.system.ErrnoException: connect failed: EHOSTUNREACH (No route to host)
                                                                    at libcore.io.Posix.connect(Native Method)
                                                                    at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111)
                                                                    at libcore.io.IoBridge.connectErrno(IoBridge.java:137)
                                                                    at libcore.io.IoBridge.connect(IoBridge.java:122)
                                                                    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183) 
                                                                    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:163) 
                                                                    at java.net.Socket.startupSocket(Socket.java:592) 
                                                                    at java.net.Socket.<init>(Socket.java:226) 
                                                                    at com.shoppiness.radu.jshoppiness.Client.run(Client.java:63) 
                                                                    at com.shoppiness.radu.jshoppiness.MainActivity$connectTask.doInBackground(MainActivity.java:77) 
                                                                    at com.shoppiness.radu.jshoppiness.MainActivity$connectTask.doInBackground(MainActivity.java:61) 
                                                                    at android.os.AsyncTask$2.call(AsyncTask.java:295) 
                                                                    at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                                                                    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
                                                                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
                                                                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
                                                                    at java.lang.Thread.run(Thread.java:818) 

3 个答案:

答案 0 :(得分:0)

这可能只是因为您的设备未连接到互联网。将它连接到wifi并再试一次。祝你好运

答案 1 :(得分:0)

如果您使用的是lan服务器,请确保两个设备(Android和服务器)都在同一个wifi上。

您的防火墙可能阻止了与。

的连接

答案 2 :(得分:0)

因此,如果您正在托管服务器,请确保您已经转发了运行服务器的wifi。这将允许流量通过您的路由器和服务器。