如何使用Netty从单独的线程发送WebSocket消息?
我正在尝试使用Netty4.0.8创建一个相当简单的WebSocket服务器。我有基本的握手设置和工作。但是,从一个单独的线程发送的消息似乎无法传递到客户端 客户机/服务器交互的工作方式是,客户机启动连接,然后通过WebSocket发送初始消息(“hello”)。服务器立即响应。此消息通过Chrome开发工具传递并可见。写入此消息后,我将如何使用Netty从单独的线程发送WebSocket消息?,websocket,netty,Websocket,Netty,我正在尝试使用Netty4.0.8创建一个相当简单的WebSocket服务器。我有基本的握手设置和工作。但是,从一个单独的线程发送的消息似乎无法传递到客户端 客户机/服务器交互的工作方式是,客户机启动连接,然后通过WebSocket发送初始消息(“hello”)。服务器立即响应。此消息通过Chrome开发工具传递并可见。写入此消息后,我将频道存储在频道组中。此ChannelGroup初始化如下: this.broadcastGroup = new NioEventLoopGroup(); thi
频道
存储在频道组
中。此ChannelGroup
初始化如下:
this.broadcastGroup = new NioEventLoopGroup();
this.group = new DefaultChannelGroup("websocket", broadcastGroup.next());
group.add(ctx.channel());
然后添加频道
,如下所示:
this.broadcastGroup = new NioEventLoopGroup();
this.group = new DefaultChannelGroup("websocket", broadcastGroup.next());
group.add(ctx.channel());
在单独的线程(在Netty之外创建)中,我执行以下操作:
但是,此消息从未出现在Chrome开发工具中
我已经尝试过调试,我可以看到当调用
group.write()
时,原始的频道在组中,但这是我所能得到的。检查返回的频道未来。。最有可能的是写操作的未来失败了。也许是你在握手结束前写的?没关系。问题是我忽略了调用group.flush()