Java NIO read()End Of Stream

时间:2012-12-26 08:04:42

标签: java nio socketchannel

我正在使用Java NIO接受,读取和写入我的服务器。

documentation中它表示SocketChannel.read()函数将返回从套接字读取的字节数,如果它到达流的末尾则返回-1。

现在 - 我真的不明白"End Of Stream"的含义是什么?是否与borken pipe错误相同?

这是否意味着双方的连接都丢失了,我应该关闭SocketChannel?

如果有人可以解释更多关于它的话,我会非常满意 - 并提供一些根据它正确使用和行为的例子。

1 个答案:

答案 0 :(得分:2)

End Of Stream意味着没有什么可读的,因为另一端已关闭了流。

0不是什么,它是零。

如果连接意外丢失,您将收到异常。即另一端没有优雅地关闭连接。