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 和数据流都 是一致的。
基于长度的协议通过将它的长度编码到帧的头部来定义帧,而不是使用特殊的分隔符来标记它的结束。
在这一节中,我们探讨了由Netty 专门的解码器和编码器所支持的不同的序列化选项:标准JDK 序列化、JBoss Marshalling 以及Google 的Protocol Buffers。