我正在尝试使用 Netty 4.0.8 创建一个相当简单的 WebSocket 服务器。我已经设置并工作了基本的握手。但是从一个单独的线程发送的消息似乎并没有传递给客户端。
客户端/服务器交互的工作方式是客户端启动连接,然后通过 WebSocket 发送初始消息(“hello”)。服务器立即响应。此消息通过并在 Chrome 开发工具中可见。写完此消息后,我将其存储Channel
在ChannelGroup
. 这ChannelGroup
是这样初始化的:
this.broadcastGroup = new NioEventLoopGroup();
this.group = new DefaultChannelGroup("websocket", broadcastGroup.next());
然后Channel
像这样添加:
group.add(ctx.channel());
在一个单独的线程中(在 Netty 之外创建),我这样做:
group.write(new TextWebSocketFrame("text"));
但是,此消息从未出现在 Chrome 开发工具中。
我试过调试,我可以看到当group.write()
被调用时,原来Channel
的在组中,但这是我能得到的。