是否可以取消注册,然后稍后使用相同的选择器再次注册?我必须限制我接受的连接数量并执行 key.cancel() 以停止接收 OP_ACCEPT 事件。
server.register(selector, SelectionKey.OP_ACCEPT);
...
key.cancel()
...
如果连接关闭,我无法再次运行 register(..),得到 java.nio.channels.CancelledKeyException
register(..) 的 Javadoc:如果此通道当前已使用给定选择器注册但相应的键已被取消,则抛出 CancelledKeyException
实现我想要做的事情的方法是什么?