Netty4.0学习笔记系列之六:多种通讯协议支持
Posted 奔跑-起点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Netty4.0学习笔记系列之六:多种通讯协议支持相关的知识,希望对你有一定的参考价值。
上文介绍了如何应用Netty开发自定义通讯协议,本文在此基础上进一步深化,研究如何同时支持不同的通讯协议。
此处所谓的通讯协议,指的是把Netty通讯管道中的二进制流转换为对象、把对象转换成二进制流的过程。转换过程追根究底还是ChannelInboundHandler、ChannelOutboundHandler的实现类在进行处理。ChannelInboundHandler负责把二进制流转换为对象,ChannelOutboundHandler负责把对象转换为二进制流。
接下来要构建一个Server,同时支持Person通讯协议和String通讯协议。
- Person通讯协议:二进制流与Person对象间的互相转换。
- String通讯协议:二进制流与有固定格式要求的String的相互转换。String格式表示的也是一个Person对象,格式规定为:name:xx;age:xx;sex:xx;
这时候,来自客户端的请求,会依次传递给两个通讯解析接口进行解析,每个通讯接口判断是否是匹配的协议,如果是则进行解析,如果不是则传递给其它通讯接口进行解析。
以上是关于Netty4.0学习笔记系列之六:多种通讯协议支持的主要内容,如果未能解决你的问题,请参考以下文章