1

现在我的服务器从客户端读取所有消息。现在它是一种单向通信。我想通过服务器向客户端发送消息。现在服务器在密钥为可读状态时读取消息它没有变成可写状态我只想知道密钥何时变为可写状态。

4

2 回答 2

5

我只想知道密钥何时变为可写

它几乎总是可写的。OP_WRITE每当套接字发送缓冲区中有可用空间时触发,这几乎是所有时间。只需调用write(),,如果您得到零回报,那么您就会开始对OP_WRITE: 您使用它来告诉您通道何时再次变得可写。

但是你不需要等待这个事件,除非你刚刚从零长度返回。write().在正常情况下,你应该只在准备好时写,并且只在返回零和它不返回OP_WRITE之间的时间间隔内注册' write()t 在您重试注册OP_WRITE并触发后。

于 2012-07-10T00:42:55.080 回答
-1

key.interestOps(SelectionKey.OP_WRITE);

于 2012-07-09T03:38:25.640 回答