Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Netty 4中丢弃拥挤的连接_Netty - Fatal编程技术网

如何在Netty 4中丢弃拥挤的连接

如何在Netty 4中丢弃拥挤的连接,netty,Netty,使用Netty 4,如果远程端无法跟上,我如何检测我写入的数据在我的连接端被阻塞并关闭连接 我在检查 ChannelHandlerContext.channel.outboundByteBuffer.readableBytes> MaxWriteBuffer 但对于最新的Netty 4版本,这给了我一个例外: java.lang.IllegalStateException:从调用的NextToutBoundByteBuffer() 事件循环之外 您需要从EventLoop执行此操作,否则它不是线

使用Netty 4,如果远程端无法跟上,我如何检测我写入的数据在我的连接端被阻塞并关闭连接

我在检查

ChannelHandlerContext.channel.outboundByteBuffer.readableBytes> MaxWriteBuffer

但对于最新的Netty 4版本,这给了我一个例外:

java.lang.IllegalStateException:从调用的NextToutBoundByteBuffer() 事件循环之外


您需要从EventLoop执行此操作,否则它不是线程安全的

比如说:

ChannelHandlerContext ctx = ....
final Channel channel = ctx.channel();
channel.eventLoop().execute(new Runnable() {
    public void run() {
        if (channel.outboundByteBuffer.readableBytes() > MaxWriteBuffer) {
            // do something
        }
    }
});

有人知道如何在Netty 4.0.20中准确地做到这一点(检测连接是否拥塞)吗?我在最近的netty版本中找不到任何与outboundByteBuffer相关的内容(看起来它是在早期的4.0版本之后被删除的),我也不知道它被替换了什么。