根据主机名/端口和用户名限制网络连接

时间:2012-04-17 15:17:08

标签: connection port limit netty hostname

我要求根据登录名和客户端连接的主机名/端口严格限制连接数。

对方法的任何想法?

1 个答案:

答案 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());
}

}