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学习笔记系列之六:多种通讯协议支持的主要内容,如果未能解决你的问题,请参考以下文章

Android学习笔记--基于XMPP的即时通讯

6. oracle学习入门系列之六 模式

Spring学习笔记之六(数据源的配置)

esp32无协议通讯

2017-2018-1 20155203 20155204 实验五 通讯协议设计

2017-2018-1 20155210 实验五:通讯协议设计