Mar*_*ius 4 java networking nio
我正在NIO中编写一些网络代码.
ByteBuffer buf = ByteBuffer.allocate(Hub.getBufferSize());
int read = channel.read(buf);
if (read == -1) {
client.disconnect();
return;
} else if (read == 0) {
return;
}
Run Code Online (Sandbox Code Playgroud)
我知道这是一个读取返回-1,这意味着已到达连接流的末尾.但这是否意味着与该客户的连接现已结束?此外,如果服务器在到达流末尾时明确关闭通道,还是冗余?
谢谢.
我知道这是一个读取返回-1,这意味着已到达连接流的末尾.但这是否意味着与该客户的连接现已结束?
这是同一件事.这些不是两个不同的概念,因此其中一个暗示另一个.这是同一件事.
此外,一旦到达流末尾,服务器是否应明确关闭通道
是.
如果不关闭它,则是套接字泄漏和内存泄漏.
还是多余的?
当然不是.往上看.此外,如果您不关闭它,您将继续OP_READ
使用它并继续阅读-1
它.只是在浪费时间.
归档时间: |
|
查看次数: |
1081 次 |
最近记录: |