gpt4 book ai didi

netty - 直接调用 close() 和使用 ChannelFutureListener.CLOSE 的区别

转载 作者:行者123 更新时间:2023-12-04 04:49:01 36 4
gpt4 key购买 nike

我正在使用 netty 3.6.6。

有人可以解释以下两个代码之间的区别吗?

  • channel.close();
  • channel.write(ChannelBuffers.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE);

  • 使用No 1时,发现netty发送TCP FIN 之前 发送我写的所有数据包。
    因此,客户端无法接收服务器发送的所有数据包。
    但是我找不到 2 号的问题。

    我不明白为什么No 1 会出问题。有什么区别?

    提前致谢。

    最佳答案

    我是 netty 的新手,这是我的选择:
    1.无论是否有未发送的数据包,都会直接关闭 channel 。
    2.将在channelfuture中添加一个监听器来检测是否所有的数据包都发送了然后关闭 channel

    关于netty - 直接调用 close() 和使用 ChannelFutureListener.CLOSE 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17725853/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com