SocketChannel write()read() - 非阻塞 - Java

时间:2015-01-15 16:26:11

标签: java sockets

在非阻塞模式下,您可以注册一个频道,因此当它准备好写入频道时,通知选择器。

我的问题是,我的频道怎么做,知道什么时候写。 java决定它现在准备写入的频道有什么条件?例如,服务器(假设我是客户端)通知我的通道/套接字它已准备好读取吗?所以我的SelectionKey.OP_WRITE触发选择器?

我对read()感到疑惑。但我想它的插座已经收到一些数据,所以它通知你读取已经收到的数据。正确?

由于

1 个答案:

答案 0 :(得分:1)

它实际上并没有告诉你什么时候它已准备好进行物理写入,但是当它在写缓冲区或读缓冲区中有空闲空间时它不是空的。