天天看点

Java NIO框架--Netty4的简单示例简介代码示例

         相比netty3, netty4有很多显著的变化:

        nioeventloopgroup 是一个处理i/o操作的多线程事件环。即为netty4里的线程池,在3.x里,一个channel是由channelfactory创建的,同时新创建的channel会自动注册到一个隐藏的i/o线程。 4.0使用新的名为eventloopgroup的接口来替换channelfactory,它由一个或多个eventloop来构成。一个新的 channel不会自动注册到eventloopgroup,但用户可以显式调用eventloopgroup.register()来注册。在server端的bootstrap参数中,有两个eventloopgroup,第一个通常称为'boss',用于接收发来的连接请求。第二个称为'worker',,用于处理boss接受并且注册给worker的连接中的信息。

        channelinitializer是一个特殊的handler,用于方便的配置用户自定义的handler实现,如代码中所示。在channelregistered的生命周期中会触发用户复写的initchannel(c ch)方法,并且在调用后会讲自身从channelpipeline中移除。