【问题标题】:How to limit the number of outgoing connections for Netty client?如何限制 Netty 客户端的传出连接数?
【发布时间】:2015-12-17 17:28:48
【问题描述】:

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

NioEventLoopGroup 中有nThreads 选项,它等于numberOfCpuCores * 2,但每个线程使用Selector 进行许多连接。

附:这就是提出请求的方式。

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());

【问题讨论】:

标签: java netty


【解决方案1】:

我认为您需要实现自己的 ChannelOutboundHandler。使用Semaphore 控制连接数。当connect 获得,disconnectcloseexceptionCaught 释放。注意避免重复释放使Semaphore为负数。

【讨论】:

  • tx,我这周试试
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2016-03-31
    相关资源
    最近更新 更多