Netty 在不远的将来完成后,网络管道还能工作吗?

Netty 在不远的将来完成后,网络管道还能工作吗?,netty,Netty,在我们的Netty客户端中,有一些实例我们称之为: channel.closeFuture().sync(); 在它完成之后,我们看到更多的数据进入我们的一个处理程序。我们已经编写了一个Http2ConnectionHandler,该处理程序即使在不久的将来完成之后也会接收数据 我的问题是:最近的未来何时完成,管道完成后还能做更多的工作 答复: 是的,close future会启动,然后正如诺曼在下面所说的那样,管道会被拆除。当底层通道(在HTTP/2情况下,TCP/IP连接)关闭时,clos

在我们的Netty客户端中,有一些实例我们称之为:

channel.closeFuture().sync();
在它完成之后,我们看到更多的数据进入我们的一个处理程序。我们已经编写了一个Http2ConnectionHandler,该处理程序即使在不久的将来完成之后也会接收数据

我的问题是:最近的未来何时完成,管道完成后还能做更多的工作

答复:
是的,close future会启动,然后正如诺曼在下面所说的那样,管道会被拆除。

当底层通道(在HTTP/2情况下,TCP/IP连接)关闭时,
close future()会启动。这可能是因为您或远程对等方关闭了连接。与封闭通道关联的净管道不应再接收任何数据。显式读取/写入关闭的通道将引发异常。

当基础通道(在HTTP/2情况下,TCP/IP连接)关闭时,将触发
closeFuture()
。这可能是因为您或远程对等方关闭了连接。与封闭通道关联的净管道不应再接收任何数据。显式读取/写入关闭的通道将引发异常。

更具体地说,一旦通道关闭,通道管道应向下撕裂,这意味着将删除所有处理程序,并调用每个
通道处理程序的
handleremoved

更具体地说,通道关闭后,应拆除通道管道,这意味着将删除所有处理程序,并调用每个
通道处理程序的
handleremoved

啊,好吧,那么在这种情况下,我们可能发现了一个bug。我会试着复制它。我们在处理程序中看到通道关闭后的活动future激发。在调用channelInactive之前,future完成,因为future总是首先通知。所以我认为你看到的是预期的。也就是说,在channelInactive被调用之后不应该调用它。好的,那么在这种情况下,我们可能发现了一个bug。我会试着复制它。我们在处理程序中看到通道关闭后的活动future激发。在调用channelInactive之前,future完成,因为future总是首先通知。所以我认为你看到的是预期的。也就是说,不应该在调用channelInactive之后调用它