我正在使用 Java NIO 在我的服务器中接受、读取和写入。
在 documentation它表示 SocketChannel.read() 函数将返回从套接字读取的字节数,如果到达流末尾则返回 -1。
现在 - 我不太明白 “End Of Stream”
是什么意思?它与 borken pipeline
错误相同吗?
这是否意味着双方的连接都丢失了,我应该关闭 SocketChannel ?
如果有人能解释更多关于它的信息 - 并给出一些根据它正确使用和行为的例子..
最佳答案
End Of Stream 意味着没有更多内容可读取,因为另一端已关闭流。
值为0
并不是什么都没有,它是零。
如果连接意外丢失,您将收到异常。 IE。另一端没有正常关闭连接。
关于Java NIO read() 流结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14037721/