Android:始终连接失败:重新连接时的 ETIMEDOUT(连接超时)

mr.*_*fox 5 sockets service multithreading android

所以,我开始单独的线程来使用套接字。当用户按下主页按钮时,我将关闭套接字并中断线程一切正常。但是,在中断线程和中断的旧线程用户打开我的应用程序之后,我将立即开始新线程并执行连接套接字我收到以下错误:

    java.net.ConnectException: failed to connect to /12.111.102.100 (port 3001): W/System.err(21440): java.net.ConnectException: failed to connect to /12.111.102.100 (port 3001): connect failed: ETIMEDOUT (Connection timed out)
    at libcore.io.IoBridge.connect(IoBridge.java:124)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
    at java.net.Socket.connect(Socket.java:882)
    at java.net.Socket.connect(Socket.java:825)
    at com.stm.classlife.services.SocketThread.run(SocketThread.java:47)
    Caused by: android.system.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)
    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)
    ... 5 more

    at libcore.io.IoBridge.connect(IoBridge.java:124)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
    at java.net.Socket.connect(Socket.java:882)
    at java.net.Socket.connect(Socket.java:825)
    at com.stm.classlife.services.SocketThread.run(SocketThread.java:47)
    Caused by: android.system.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)
    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)
    ... 5 more
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会出现连接错误,有人知道如何解决这个问题吗?

提前致谢!