嗨 我正在构建一个小的 p2p 程序,同时实现服务器端和客户端。 当我吃客户端程序时,首先想到的是连接到其列表中的每个服务器,发送数据(关于客户端)并断开连接。下次客户端连接到这些服务器之一时,它将被识别。
我的问题 - 当我告诉客户端断开连接时,我得到这个异常
java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at oop.ex3.nameserver.NameServerThread.run(NameServerThread.java:24)
要断开连接我刚刚写道:
finally {
out.close();
in.close();
socket.close();
}
那么,我该如何避免这种异常呢?谢谢!
最佳答案
Socket.close() 的 JavaDoc 明确指出:
Closing this socket will also close the socket's InputStream and OutputStream.
这将抛出异常,因为您已经关闭了它们!
关于java - 从java中的套接字断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5793671/