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


對於實際應用的情況,待續

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章