У меня есть это:
Selector selector = Selector.open();
ServerSocketChannel listenChannel = ServerSocketChannel.open();
listenChannel.socket().bind(new InetSocketAddress(12112));
listenChannel.register(selector, SelectionKey.OP_ACCEPT);
Всего 4 строки кода внутри main (), а последняя строка выдает исключение:
java.nio.channels.IllegalBlockingModeException
at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:201)
at java.nio.channels.SelectableChannel.register(SelectableChannel.java:280)
at myServer.main(myServer.java:18)
Я просто хочу создать ServerSocketChannel и зарегистрировать его в Selector. Что тут не так, как исправить?
Спасибо.




попробуйте отключить режим блокировки: listenChannel.configureBlocking(false);
Смотрите это stackoverflow.com/questions/328925/…