Netty中向Pipeline中添加Handler

    技术2026-02-21  15

    在服务端NIO开发过程中,channel需要注册到selector上,实现多路复用功能.

    Netty的服务端在向Pipeline中添加Handler时候,在某个时机需要调用我们重写的 handlerAdded方法.那么这里面一个关键点就是channel是否已经注册上了selector。

    因为一个channel是和一个pipeline绑定的. 如果这个channel还没有注册到selector,那么这个时候向pipeline添加handler是不能调用我们重写的handlerAdded方法.Netty通过Pipeline中的一个单向链表,将这些handler存储起来,当channel成功注册到selector以后,再来将这个链表上的handler找出来,逐个调用我们重写的handlerAdded方法。

    如果这个channel已经注册到selector上,这个时候我们在向pipeline中添加handler时,直接就可以调用我们重写的handlerAdded方法。


    个人站点

    个人公众号: Netty历险记

    Processed: 0.028, SQL: 9