服務端還是客戶端都進行了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)
對於實際應用的情況,待續