Netty之ServerBootstrap的handler和childhandler的区别

服务端还是客户端都进行了handler的设置,通过添加hanlder,我们可以监听Channel的各种动作以及状态的改变,包括连接,绑定,接收消息等。

在基类AbstractBootstrap有handler方法,目的是添加一个handler,监听Bootstrap的动作,客户端的Bootstrap中,继承了这一点。

在服务端的ServerBootstrap中增加了一个方法childHandler,它的目的是添加handler,用来监听已经连接的客户端的Channel的动作和状态。

handler在初始化时就会执行,而childHandler会在客户端成功connect后才执行,这是两者的区别。

作者:lxqfirst
链接:https://www.jianshu.com/p/da4d2b5e34ee
来源:简书

通过handler添加的handlers是对bossGroup线程组起作用,通过childHandler添加的handlers是对workerGroup线程组起作用,客户端Bootstrap只有handler()方法,因为客户端只需要一个事件线程组(https://blog.csdn.net/mazhongjia/article/details/104169615


对于实际应用的情况,待续

发布了125 篇原创文章 · 获赞 9 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jiezhang656/article/details/105197013