1

ログイン名とクライアントが接続されているホスト名/ポートに基づいて、接続数を厳密に制限する必要があります。

アプローチについて何か考えはありますか?

4

1 に答える 1

4

接続を追跡するために ChannelGroup を使用できると思います。channelGroup の内容に基づいて、接続の制限について決定します。以下のコード フラグメントを参照してください。channelGroup に追加されたすべてのチャネルは、閉じると自動的に削除されます。

class YourHandler extends SimpleChannelHandler {

ChannelGroup  channelGroup = new DefaultChannelGroup();

 @Override
public void channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e) 
{
    // make a decision if you want to accept connection
    // if not just close it using ctc.getChannel().close()
}

@Override
public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) 
{
    channelGroup.add(ctx.getChannel());
}

}
于 2012-04-17T15:59:34.120 に答える