首页 > Web开发 > 详细

试读《Netty权威指南(第2版)》

时间:2015-07-01 02:05:01      阅读:241      评论:0      收藏:0      [点我收藏+]
最近正在试用Netty,关于Netty是什么以及它能够做什么,在其官网的“Netty口号”中说得很清楚:
?
Netty is?an asynchronous event-driven network application framework?
for rapid development of maintainable high performance protocol servers & clients.
?
这句话很多人已经翻译过了,Netty是一个异步的、事件驱动的网络应用框架,用于快速开发可维护的、高性能的服务器和客户端。补充一句,Netty封装了传输层协议,因此可以替换HttpAsyncClient等应用层协议封装组件,各Web容器也可以使用Netty实现其网络IO模块。再引作者李林锋一句:“作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用。”另外,许多开源组件也基于Netty的NIO框架构建,如HornetQ、Vert.X等。相关项目列表在这里
?
《Netty权威指南》的作者李林锋是NIO相关领域的专家。之前曾在InfoQ上读过他的一些文章,与他的多数文章一样,试读样章既有作者自身工作中的经验教训 -- 令人信服地强调了Netty在降低原生NIO类库复杂性上的优势 -- 同时结合源码,辅以清晰的图表,详细分析了Netty服务端创建和客户端接入过程。对于没有Netty实践经验的读者,样章清晰易懂;对于Netty的初步用户,则有助于把实现过程上升到方法论的层次。
?
Netty "Hello World"为例,对比作者所绘时序图:
public void run() throws Exception {
        EventLoopGroup bossGroup = new NioEventLoopGroup();
        EventLoopGroup workerGroup = new NioEventLoopGroup();
        try{
            ServerBootstrap b = new ServerBootstrap(); // 1. 创建ServerBootstrap实例
            b.group(bossGroup, workerGroup)  // 2. 设置并绑定Reactor线程池
                    .channel(NioServerSocketChannel.class) // 3. 设置并绑定服务端Channel()
                    .childHandler(new ChannelInitializer<SocketChannel>() {
                        @Override
                        public void initChannel(SocketChannel ch) throws Exception{
                            ch.pipeline() // 4. TCP链路建立时创建ChannelPipeline()
                            .addLast(new EchoServerHandler()); // 5. 添加并设置ChannelHandler()
                        }
                    })
                    .option(ChannelOption.SO_BACKLOG, 128)
                    .childOption(ChannelOption.SO_KEEPALIVE, true);

            ChannelFuture f = b.bind(port).sync(); // 6. 绑定监听接口
            f.channel().closeFuture().sync();

        }finally {
            workerGroup.shutdownGracefully();
            bossGroup.shutdownGracefully();
        }
    }
?
bubuko.com,布布扣
另外,章节最初的预备知识介绍对阅读非常有帮助,方便了读者根据自身情况完善知识体系,温习及回顾相关知识点。
?

试读《Netty权威指南(第2版)》

原文:http://cwind.iteye.com/blog/2223241

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!