SelectionKey.OP_ACCEPT | SelectionKey.OP_WRITE导致IllegalArgumentException

时间:2017-10-13 07:31:32

标签: java nio

有没有办法让NIO服务器接受连接然后开始写?

如果我使用组合键

SelectionKey.OP_ACCEPT | SelectionKey.OP_READ

我得到IllegalArgumentException。我有一个接受传入连接的服务器,然后立即需要写入该通道。我似乎无法做到这一点。

1 个答案:

答案 0 :(得分:0)

那是因为指定的值没有意义。您无法读取或写入侦听套接字,并且您无法从非侦听套接字接受。

在任何情况下,您都可以立即开始写入已接受的频道,而无需OP_WRITE。只有当你填充了套接字发送缓冲区时才会使用它。