Netty网络处理之客户端主动关闭

TCP状态变化

  应用层及时关闭连接:ESTABLISHED –> CLOSE_WAIT –> LAST_ACK –> CLOSED;
  应用层未在指定时间内关闭连接:ESTABLISHED –> CLOSE_WAIT –> CLOSED;
这里写图片描述

Netty处理过程

  TCP状态进入CLOSE_WAIT时会产生OP_READ事件通知应用层,Netty从socket读取数据时返回-1,close被设为true,进入关闭流程。如果连接允许“半关闭”则产生ChannelInputShutdownEvent事件;否则,关闭当前连接,如下图所示。
这里写图片描述

这里写图片描述