Java NIO UDP-尝试注册时选择器挂起

Java NIO UDP-尝试注册时选择器挂起,java,udp,nio,Java,Udp,Nio,当你试图注册一个DatagramChannel时,市场线永远挂起 有人知道为什么吗?您是否尝试过向JVM发送CTRL+BREAK以获得一个新的消息 上述代码是否在执行选择的线程中执行?我认为我们需要在进行选择的同一线程中使用选择器注册频道。有一些聊天中提到必须在选择线程中调用dc.register()。不过,JavaDoc在这方面似乎不是很具体 我想你可以通过在某个地方输入一个列表,然后调用selector.wakeup()。但是我仍然有时间问题,不清楚注册成功需要多长时间…我认为您需要发布一个

当你试图注册一个DatagramChannel时,市场线永远挂起


有人知道为什么吗?

您是否尝试过向JVM发送CTRL+BREAK以获得一个新的消息

上述代码是否在执行选择的线程中执行?我认为我们需要在进行选择的同一线程中使用选择器注册频道。

有一些聊天中提到必须在选择线程中调用
dc.register()
。不过,JavaDoc在这方面似乎不是很具体


我想你可以通过在某个地方输入一个列表,然后调用
selector.wakeup()
。但是我仍然有时间问题,不清楚注册成功需要多长时间…

我认为您需要发布一个更完整的代码示例,为您的问题提供一些上下文。这个想法总体上对我有效@DavidVanBrink也许你可以发布一些代码,让它成为公认的答案。
final DatagramChannel dc = DatagramChannel.open();
        dc.configureBlocking(false);
        dc.socket().bind(localAddress);
        final SelDatagramChannel c = new SelDatagramChannel(dc, datagramListener);
--->>>>        final SelectionKey sk = dc.register(selector, SelectionKey.OP_READ);