目录
一. 分析入口
三. 出站Handler中的flush方法执行追踪分析
一. 分析入口
上图处打上断点以后,首先Debug启动服务端,
普通方式启动客户端,客户端启动后,程序停在断点处:
接下来我们一直往下跟踪,直到如下图位置:进入pipeline.fireChannelReadComplete()方法继续跟踪:
注意:上图继续跟踪后,程序将跳入我们的 NettyServerHandle, 并执行channelReadComplete方法:
二. 出站Handler的write方法执行追踪分析
分析完查找Handler,我们继续往下跳出这个查找方法:
注意:上图继续进入后,程序跳到了我们自定义的NettyServerOutHandle,来执行本次出站Handler中的write方法,如图:
接下来的跟踪过程我们不再重复,直接快速往下,直到程序跳出回到NettyServerOutHandle中:
三. 出站Handler中的flush方法执行追踪分析
注意,上图继续跟踪后,程序又跳出到我们自定义的NettyServerOutHandle中,执行flush方法,执行完后,再进入super.flush,查找上一个消息出站Handler中的flush方法。
到此,出站源码跟踪剖析结束!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)