我正在使用Java NIO接受,读取和写入我的服务器。
在documentation中它表示SocketChannel.read()
函数将返回从套接字读取的字节数,如果它到达流的末尾则返回-1。
现在 - 我真的不明白"End Of Stream"
的含义是什么?是否与borken pipe
错误相同?
这是否意味着双方的连接都丢失了,我应该关闭SocketChannel?
如果有人可以解释更多关于它的话,我会非常满意 - 并提供一些根据它正确使用和行为的例子。
答案 0 :(得分:2)
End Of Stream意味着没有什么可读的,因为另一端已关闭了流。
值0
不是什么,它是零。
如果连接意外丢失,您将收到异常。即另一端没有优雅地关闭连接。