ログイン名とクライアントが接続されているホスト名/ポートに基づいて、接続数を厳密に制限する必要があります。
アプローチについて何か考えはありますか?
ログイン名とクライアントが接続されているホスト名/ポートに基づいて、接続数を厳密に制限する必要があります。
アプローチについて何か考えはありますか?
接続を追跡するために 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());
}
}