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 回答