当前位置: 首页 > 知识库问答 >
问题:

每个通道的Netty IdleStateHandler

钮勇
2023-03-14

嗨,当IdleStateHandler被添加到管道时,我遇到了一个问题。当我使用

m_channel.pipeline().addFirst("idleStateHandler", new IdleStateHandler(0, 0, 30));

我建议每个通道在30秒内没有任何活动(读或写)时触发IdleState事件。但此设置适用于定义IdleStateHandler的管道所处理的每个通道。问题是我如何为每个频道设置不同的空闲时间?

共有2个答案

严修谨
2023-03-14

ChannelPipeline是特定于通道的,您可以自定义通道IdleStateHandler,但还需要在初始化IdleStateHandler之前提供计时器。

钮誉
2023-03-14

我不理解这个问题……每个ChannelPipeline都被精确地分配给一个Channel,因此它应该按方面工作。如果它没有在netty bugtracker上打开一个问题

 类似资料:
  • 我正在使用Netty框架并实现客户端和服务器。我建立了多达1000个连接。我想在多个地方配置超时值。其中一些我能理解。下面是我的netty实现的netty行为: 1。许多异步连接都是从具有超时的客户端开始的(使用ChannelOption.CONNECT\u timeout\u MILLIS配置) 2。那些能够连接的客户端连接使用channelActive发送HTTP请求,并使用channelRe

  • 我有一个服务器和一个客户端,它们有自己的引导程序。我的问题是,不同的连接用于不同的目的。一个用于控制通道(与服务器通信并返回),然后建立其他连接以进行数据传输。我以编程方式将idlestate处理程序仅添加到需要它的连接管道中,但在调试之后,我发现无论连接如何,通道总是相同的。因此,我的数据传输正在影响生存。我通过向netty IdleStateHandler添加调试并输出通道id看到了这一点。很

  • 相关问题:每通道单线程模型,带净 OIO 我使用 netty 编写了一个 OIO 客户端-服务器,在连接启动后,我将大量消息从服务器发送到客户端(反之亦然)。 据我所知,它看起来像是写入通道块从通道读取。 这是荨麻的正常行为吗?

  • 大家好,我在最后完成了我想要的代码,但是我不能按照我想要的设置文章。我正在努力,但做得不好。 这是消息的输出 我想做的事。

  • 我想用netty实现一个协议栈 在低层,只有一个连接客户端和服务器的持久通道 ,但在上面的一层,这个通道被多个客户端使用。 有没有办法在Netty中打开一个新的通道对象,以优雅的方式处理上层的每个客户端? 期待听到你们的消息

  • 我是新来的,想知道一些很基本的问题,我不能弄清楚。 为了发挥作用(对实际需要的抽象),我需要: 用常数固定的元素初始化字符串片断 遍历此切片并为每个元素运行一个goroutine 每个goroutine将花费一定的时间来处理元素(随机秒持续时间) 作业完成后,我希望goroutine将结果推送到一个通道 然后我需要捕获来自这个通道的所有结果(在一个从主goroutine调用的函数中),将它们附加到