Java nio SocketChannel не удалось создать

У меня есть это:

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. Что тут не так, как исправить?

Спасибо.

Смотрите это stackoverflow.com/questions/328925/…

ShehrozEK 04.12.2018 06:31
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

попробуйте отключить режим блокировки:
listenChannel.configureBlocking(false);

Другие вопросы по теме