11 预置的ChannelHandler和编解码器

本章主要内容
? 通过SSL/TLS 保护Netty 应用程序
? 构建基于Netty 的HTTP/HTTPS 应用程序
? 处理空闲的连接和超时
? 解码基于分隔符的协议和基于长度的协议
? 写大型数据
Netty 的OpenSSL/SSLEngine 实现
Netty 还提供了使用OpenSSL 工具包(www.openssl.org)的SSLEngine 实现。这个OpenSsl-
Engine 类提供了比JDK 提供的SSLEngine 实现更好的性能。
如果OpenSSL库可用,可以将Netty 应用程序(客户端和服务器)配置为默认使用OpenSslEngine。
如果不可用,Netty 将会回退到JDK 实现。有关配置OpenSSL 支持的详细说明,参见Netty 文档:
http://netty.io/wiki/forked-tomcat-native.html#wikih2-1。
注意,无论你使用JDK 的SSLEngine 还是使用Netty 的OpenSslEngine,SSL API 和数据流都
是一致的。

11 预置的ChannelHandler和编解码器

11 预置的ChannelHandler和编解码器

11 预置的ChannelHandler和编解码器

11 预置的ChannelHandler和编解码器

 11 预置的ChannelHandler和编解码器

11 预置的ChannelHandler和编解码器

11 预置的ChannelHandler和编解码器

基于长度的协议通过将它的长度编码到帧的头部来定义帧,而不是使用特殊的分隔符来标记它的结束。

11 预置的ChannelHandler和编解码器

11 预置的ChannelHandler和编解码器

 11 预置的ChannelHandler和编解码器

 11 预置的ChannelHandler和编解码器

在这一节中,我们探讨了由Netty 专门的解码器和编码器所支持的不同的序列化选项:标准JDK 序列化、JBoss Marshalling 以及Google 的Protocol Buffers