2012-02-05 19 views
0

NettyにTCPとWebSocketを混在させようとしています。 私はWebSocketとTCPの2つのサーバーを持っています。 DefaultUserGroupで収集されたすべてのユーザーが原因で、userGroupのどのユーザーがWebSocketまたはTCPから来ているのか分かりません(DefaultUserGroup.write)。Netty WebSockets&tcpソケット

のWebSocketサーバー:

ChannelPipeline pipeline = pipeline(); 
    pipeline.addLast("decoder", new HttpRequestDecoder()); 
    pipeline.addLast("aggregator", new HttpChunkAggregator(65536)); 
    pipeline.addLast("encoder", new HttpResponseEncoder()); 
    pipeline.addLast("handler", new WebSocketServerHandler(readQueueHandler)); 

TCPサーバー:

  pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter())); 
     pipeline.addLast("decoder", new StringDecoder()); 
     pipeline.addLast("encoder", new StringEncoder()); 
     pipeline.addLast("handler", new MyBusinessLogicHandler(readQueueHandler)); 
+0

あなたの質問は何ですか? –

答えて

0

DefaultUserGroupChannelGroupある場合は、その理由だけではなく、二つの異なるChannelGroups、TCP用とWSのための1つを作る、との両方に書き込みますそれらのそれぞれのフレームを使用して。

POJOを作成して、チャンネルタイプを特定し、新しい接続が確立されたときに新しいPOJOをインスタンス化し、チャンネルタイプフラグを設定し、チャネルの添付ファイルに貼り付けることができます(channel.setAttachement(...) )。次に、書き込む前にチャンネルタイプをチェックして、フレームを適切にフォーマットすることができます(channel.getAttachement())。