Netty:channel的事件顺序

服务端:正常启动的channel事件顺序

REGISTERED -> BIND -> ACTIVE
Netty:channel的事件顺序_第1张图片

客户端:正常启动的channel事件顺序

REGISTERED -> CONNECT -> ACTIVE
Netty:channel的事件顺序_第2张图片

服务端:接收到客户端连接,为客户端分配的channel的事件顺序

REGISTERED -> ACTIVE
Netty:channel的事件顺序_第3张图片

客户端:终止和服务端的连接,客户端channel的事件顺序

INACTIVE -> UNREGISTERED
在这里插入图片描述

服务端:收到客户端终止连接,为客户端分配的channel的事件顺序

INACTIVE -> UNREGISTERED
在这里插入图片描述

服务端主动调用ChannelHandlerContext的close()方法

例如,在服务端ChannelInboundHandlerAdapter的子类中调用ChannelHandlerContext的close()方法:
在这里插入图片描述

服务端为客户端分配的channel的事件顺序

INACTIVE -> UNREGISTERED
Netty:channel的事件顺序_第4张图片
此时,服务器无法再使用这个为客户端分配的channel。但服务端跟其它客户端的通信不受影响。

客户端channel的事件顺序

INACTIVE -> UNREGISTERED
在这里插入图片描述
此时,客户端已经无法再跟服务器通过这个channel通信。如果需要通信,要从头开始重新连接。

你可能感兴趣的:(java,Netty)