如何限制Netty客户端的传出连接数?

时间:2015-12-11 15:47:38

标签: java netty

有没有办法限制(或只是获取)netty库(版本4.x)中的传出连接数?

nThreads中的NioEventLoopGroup选项等于numberOfCpuCores * 2,但每个帖子使用Selector进行多次连接。

P.S。这就是请求的方式。

Bootstrap b = new Bootstrap();
b.group(eventLoopGroup)
     .channel(NioSocketChannel.class)
     .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 10000)
     .handler(new MyHandler());    
ChannelFuture cf = b.connect(host, port);
cf.addListener(new MyConnectionListener());

2 个答案:

答案 0 :(得分:0)

我认为您需要实现自己的ChannelOutboundHandler。使用Semaphore控制连接号码。获取connect时以及disconnectcloseexceptionCaught何时发布。请注意,避免重复发布以使Semaphore为负数。

答案 1 :(得分:0)

我认为这与netty无关。您只需要一个频道计数器,并在每次创建频道时添加它。