Nettys NioWorker频道关闭

时间:2018-04-09 19:05:20

标签: java netty asynchttpclient

我试图找出为什么在netty(3.10.5)NioWorker中调用以下关闭函数。可以找到完整的班级here

        if (ret < 0 || failure) {
            k.cancel(); // Some JDK implementations run into an infinite loop without this.
            close(channel, succeededFuture(channel));
            return false;
        }

我想可能会有一些原因,比如主持人在一段时间后关闭或主持关闭频道,但我认为与NioWorker合作过的其他人可能会更清楚。

我有两个不同的系统,这个代码每天被调用几次,但另一个系统每天有100个具有相同数量的流量。我试图找出为什么会出现这种情况。

1 个答案:

答案 0 :(得分:0)

调用此函数有两个条件:

  • 从频道播放时出现错误情况,这由failure变量
  • 发出信号
  • 频道已到达流的末尾,如果其他方干净地关闭频道(即使用TCP FIN标志),则会发生这种情况。