Netty 4.0.8 を使用してかなり単純な WebSocket サーバーを作成しようとしています。基本的なハンドシェイクがセットアップされ、機能しています。しかし、別のスレッドから送信されたメッセージは、クライアントに届いていないようです。
クライアント/サーバーの相互作用が機能する方法は、クライアントが接続を開始し、WebSocket を介して最初のメッセージ ("hello") を送信することです。サーバーはすぐに応答します。このメッセージが表示され、Chrome Dev Tools に表示されます。このメッセージを書いた後、 を に保存し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 Dev Tools には表示されません。
私はデバッグを試みましたgroup.write()
が、呼び出されたときにオリジナルChannel
がグループ内にあることがわかりますが、それは私が得ることができる限りです。