1

Netty ガイドによると: http://static.netty.io/3.5/guide/#start.12

開いているソケットを追跡するには、TimeServerHandler を変更して、新しい開いている Channel をグローバル ChannelGroup の TimeServer.allChannels に追加する必要があります。

  @Override
  public void channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e) {
        TimeServer.allChannels.add(e.getChannel());
  }

channelOpenビジネスロジックハン​​ドラーに実装しました。新しいクライアントが接続を確立したときに呼び出されることはありません。channelOpenが呼び出されたときの詳細を誰か教えてください。

また、アップストリームハンドラーを のに挿入して適切なタイミングで呼び出されるように記述できますか、それともビジネス ロジック ハンドラー実装する必要がありますか?ExecutionHandlerchannelOpenchannelOpen

channelOpenできればビジネスロジックハン​​ドラとは別に実装できるようにしたい。

4

1 に答える 1

3

イベントは、次の順序で発生します。

channelOpen(..)、channelBound(..)、channelConnected(..)

..。

cannelDisconnected(..)、channelUnbound(..)、channelClosed(..)

したがって、channelOpen(..)は、クライアントが接続するときに最初に呼び出す必要があります。

于 2012-07-10T11:27:47.983 に答える