服务端:正常启动的channel事件顺序
REGISTERED -> BIND -> ACTIVE
客户端:正常启动的channel事件顺序
REGISTERED -> CONNECT -> ACTIVE
服务端:接收到客户端连接,为客户端分配的channel的事件顺序
REGISTERED -> ACTIVE
客户端:终止和服务端的连接,客户端channel的事件顺序
INACTIVE -> UNREGISTERED
服务端:收到客户端终止连接,为客户端分配的channel的事件顺序
INACTIVE -> UNREGISTERED
服务端主动调用ChannelHandlerContext的close()方法
例如,在服务端ChannelInboundHandlerAdapter的子类中调用ChannelHandlerContext的close()方法:
服务端为客户端分配的channel的事件顺序
INACTIVE -> UNREGISTERED
此时,服务器无法再使用这个为客户端分配的channel。但服务端跟其它客户端的通信不受影响。
客户端channel的事件顺序
INACTIVE -> UNREGISTERED
此时,客户端已经无法再跟服务器通过这个channel通信。如果需要通信,要从头开始重新连接。