0

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がグループ内にあることがわかりますが、それは私が得ることができる限りです。

4

2 に答える 2

0

どうでも。問題は私が電話を怠ったことだったことが判明しましたgroup.flush()

于 2013-09-05T18:02:52.090 に答える