目录
一. 分析入口

上图处打上断点以后,首先Debug启动服务端,

普通方式启动客户端,客户端启动后,程序停在断点处:

接下来我们一直往下跟踪,直到如下图位置:进入pipeline.fireChannelReadComplete()方法继续跟踪:







注意:上图继续跟踪后,程序将跳入我们的 NettyServerHandle, 并执行channelReadComplete方法:
二. 出站Handler的write方法执行追踪分析






分析完查找Handler,我们继续往下跳出这个查找方法:



注意:上图继续进入后,程序跳到了我们自定义的NettyServerOutHandle,来执行本次出站Handler中的write方法,如图:







接下来的跟踪过程我们不再重复,直接快速往下,直到程序跳出回到NettyServerOutHandle中:

三. 出站Handler中的flush方法执行追踪分析


注意,上图继续跟踪后,程序又跳出到我们自定义的NettyServerOutHandle中,执行flush方法,执行完后,再进入super.flush,查找上一个消息出站Handler中的flush方法。













到此,出站源码跟踪剖析结束!
本文深入剖析了Netty出站消息的源码流程,从分析入口开始,详细追踪了出站Handler的write和flush方法的执行过程,揭示了NettyServerHandle和NettyServerOutHandle在出站操作中的关键作用。
983

被折叠的 条评论
为什么被折叠?



