`
切切克闹
  • 浏览: 15657 次
社区版块
存档分类
最新评论

Netty开发记录三

阅读更多

步骤5:初始化ChannelPipeline完成之后,添加并设置ChannelHandler

 代码:

 public void initChannel(SocketChannel ch) throws Exception {
            ChannelPipeline p = ch.pipeline();
             if (sslCtx != null) {       
                        p.addLast(sslCtx.newHandler(ch.alloc()));                                                                             
             }
 }

 

 

ChannelHandler是Netty提供给用户定制和扩展的关键接口。利用ChannelHandler用户可以完成大多数的功能定制,例如消息编解码、心跳、安全认证、TSL/SSL认证、流量控制和流量整形等。

典型的网络事件如下:

链路注册;

链路激活;

链路断开;

接收到请求消息;

请求消息接收并处理完毕;

发送应答消息;

链路发生异常;

发生用户自定义事件。

 

 

Netty同时也提供了大量的系统ChannelHandler供用户使用,比较实用的系统ChannelHandler总结如下:

•系统编解码框架-ByteToMessageCodec;

•通用基于长度的半包解码器-LengthFieldBasedFrameDecoder;

•码流日志打印Handler-LoggingHandler;

•SSL安全认证Handler-SslHandler;

•链路空闲检测Handler-IdleStateHandler;

•流量整形Handler-ChannelTrafficShapingHandler;

•Base64编解码-Base64Decoder和Base64Encoder。

步骤6:绑定并启动监听端口

                

ChannelFuture f = b.bind(PORT).sync();

 

在绑定监听端口之前系统会做一系列的初始化和检测工作,完成之后,会启动监听端口,并将ServerSocketChannel注册到Selector上监听客户端连接.

步骤7:关闭服务器,断开监听端口

                

 f.channel().closeFuture().sync();

 

好了。到此,Netty全部服务器运行流程到此为止。

 

ServerBootstrap的Hanlder模型


 

附件中有netty服务端的代码,内容不多,只是开发时最基础的配置,接下来的文章中,我会用例子来展示netty的开发全过程,届时会把整个项目上传分享。 

  • 大小: 54.3 KB
0
0
分享到:
评论
2 楼 切切克闹 2014-10-30  
在世界的中心呼喚愛 写道
不错。楼主是用4.0?可以加QQ一起学习?

可以啊 我QQ 545358072
1 楼 在世界的中心呼喚愛 2014-10-29  
不错。楼主是用4.0?可以加QQ一起学习?

相关推荐

    Netty开发视频教程

    ### Netty开发视频教程知识点详解 #### 一、Netty简介与环境搭建 - **Netty概述**:Netty是一款高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器与客户端。它由JBOSS提出,后被Red ...

    Netty入门教程文档

    第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率。 3. 数据抽取 数据抽取需要在调研阶段做大量的工作,首先要搞清楚数据是从几个业务系统中来,各个业务系统的数据库服务器运行什么DBMS,是否存在...

    netty3的完整配置实例

    在 Netty 3 的配置中,我们需要确保包含所有必要的 Netty jar 包,以及其他可能的第三方库,如 Log4j 或 SLF4J 用于日志记录。 2. **src/main/java**:源代码目录,包含你的服务器或客户端应用的 Java 类。在 Netty...

    springboot+netty点对点即时通讯、聊天

    Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在即时通讯场景下,Netty以其高效的I/O处理和非阻塞IO模型,确保了数据传输的高效性和实时性。 3. **Redis**...

    整合netty实时通讯

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨 Netty 实时通讯的原理与应用,以及如何利用它构建 WebSocket 服务。 WebSocket 是...

    最新netty中文文档chm版

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。这个“最新Netty中文文档CHM版”为中国的开发者提供了一个方便的中文学习资源,解决了阅读英文原版文档时的...

    netty框架 jar包

    3. `netty-channel`: 实现了基础的I/O通道接口和相关的事件处理。 4. `netty-codec`: 提供了各种编解码器,如ByteToMessageDecoder和MessageToByteEncoder。 5. `netty-codec-http`和`netty-codec-http2`: 对...

    基于Netty的Android点对点聊天软件-源码

    本资源提供的是一个基于Netty框架开发的Android点对点聊天软件的源代码。Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。它在Java NIO(非阻塞I/O)的基础上...

    xunyu_smgp:smgp协议netty开发

    【标题】"xunyu_smgp:smgp协议netty开发" 涉及的主要内容是使用Java的Netty框架来实现SMGP(Short Message Gateway Protocol)协议。SMGP是一种专用于短信网关的通信协议,常用于移动通信运营商与第三方服务提供商...

    netty-netty-4.1.32.final-remark.zip

    11. **兼容性和扩展性**:Netty 与各种第三方库和框架有良好的兼容性,如 Protobuf、Avro、Thrift 等,同时也易于扩展,适应不同应用场景。 12. **异常处理**:Netty 提供了统一的异常处理机制,便于在应用程序中...

    Netty权威指南pdf+源代码

    Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本书旨在帮助读者全面掌握Netty的核心概念、设计模式以及最佳实践。 首先,PDF版本的《Netty权威指南》提供了...

    netty4 in action

    Netty是由JBOSS组织开发的一个开源项目,它提供了一个高效、灵活且可扩展的事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。 Netty的核心概念之一是其异步事件驱动的网络编程模型。在...

    Netty学习资料.zip

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。这个“Netty学习资料.zip”压缩包包含了韩顺平老师关于 Netty 的一系列教学资源,包括资料、笔记、课件、代码...

    Netty5入门3个简单例子

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨Netty 5的三个基础示例,帮助初学者快速上手。 首先,让我们了解Netty的核心概念。...

    Unity与Netty进行ProtoBuf通信__

    7. **错误处理与调试**:在实际开发中,务必考虑网络异常、数据解析错误等情况,做好相应的错误处理和日志记录。 综上所述,Unity与Netty结合ProtoBuf-net进行通信,能实现高效、低延迟的数据传输,提高游戏的网络...

    springboot与netty整合

    SpringBoot和Netty整合是现代Java开发中一个常见的技术组合,尤其在构建高性能、轻量级的网络应用时。SpringBoot以其便捷的依赖管理和自动配置功能简化了Java应用的搭建和部署,而Netty则是一个高效的异步事件驱动的...

    spring boot、mvc、mybatis、netty-sokey.io 实现简单即时通讯聊天系统

    本项目是基于Spring Boot、Spring MVC、MyBatis和Netty-Sokey.io构建的一个简易即时通讯聊天系统。这个系统展示了如何将这些流行的Java技术框架整合在一起,实现一个功能完善的实时通信平台。以下是对各部分的详细...

    C# Netty 客户端,服务器端包含接双向接收

    3. `ConsoleApp1` 和 `WindowsFormsApp1`:这两个可能是客户端的示例应用,一个是控制台应用程序,另一个可能是使用Windows Forms界面的应用,两者都可能用C#编写并使用Netty进行通信。 4. `...

Global site tag (gtag.js) - Google Analytics