我要求根据登录名和客户端连接的主机名/端口严格限制连接数。
对方法的任何想法?
答案 0 :(得分: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());
}
}