2

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

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

现在 - 我真的不明白是什么"End Of Stream"意思?它和borken pipe错误一样吗?

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

如果有人可以对此进行更多解释,我会非常满意-并给出一些根据它正确使用和行为的示例..

4

1 回答 1

3

End Of Stream 意味着没有更多可读取的内容,因为另一端已关闭流。

0不是没有,它是零。

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

于 2012-12-26T10:25:13.457 回答