我在post中发现了相同的问题,但我认为它没有解决。

我要简短一点,这是我的代码:

try {
Socket pacConx = new Socket(ip, Integer.parseInt(port));
DataInputStream  dataIn = new DataInputStream(pacConx.getInputStream());
DataOutputStream dataOut = new DataOutputStream(pacConx.getOutputStream());

while(){...}
} catch (IOException e) {
    logger.fatal("error", e);
}finally{
    if (dataIn != null) {
           dataIn.close();
     }
     if (dataOut != null) {
            dataOut.close();
     }
      if (pacConx != null) {
            pacConx.close();
      }
}

首先,我使用上面的代码连接到服务器,并且成功。
但是,当我尝试在一段时间后重新连接到相同的服务器和端口时,我无法重新连接。
显然,第一个套接字在serverSide中仍然是“ Activity 的”。

是解决我的难题的办法吗?

有没有办法我可以关闭另一个“ Activity ”套接字?

最佳答案

尝试

...
dataOut.flush();
dataOut.close();
...

粘贴错误消息或/和完整堆栈跟踪。

10-07 15:22