有没有办法限制(或只是获取)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());
答案 0 :(得分:0)
我认为您需要实现自己的ChannelOutboundHandler。使用Semaphore
控制连接号码。获取connect
时以及disconnect
,close
和exceptionCaught
何时发布。请注意,避免重复发布以使Semaphore
为负数。
答案 1 :(得分:0)
我认为这与netty无关。您只需要一个频道计数器,并在每次创建频道时添加它。