鸿蒙开辟仓颉语言【Hyperion: 一个支持自定义编解码器的TCP通信框架】架构 ...

打印 上一主题 下一主题

主题 1045|帖子 1045|积分 3135

2. 架构

2.1 Hyperion TCP框架的架构

Hyperion TCP框架的架构图如下:

MessageCompletedHandler接口

用于判断消息的报文是否读取完备,提供如下方法:
func messageCompleted(buffer: ByteBuffer, status: MessageCompletedStatus): Unit
Session接口

单向会话接口,可以向对端发送消息
IoSession接口

双向会话接口,可以从对端收取消息,也可以向对端发送消息
IoFilter接口

对TCP框架客户端或者服务端的入栈消息、出栈消息举行加工,提供如下方法:
func inboundMessage(context: IoFilterContext, session: Session, inMessages: ArrayList): Unit
func outboundMessage(context: IoFilterContext, session: Session, outMessages: ArrayList): Unit
SingularMessageIoFilter类

只处理单个入栈消息和单个出栈消息的IoFilter实现
IoFilterChain类

由IoFilter串联而成的链表
Connection接口

TCP框架客户端和服务端之间创建的连接
ConnectionInitializer接口

用于客户端和服务端初始化TCP连接,提供如下方法:
func initialize(session: Session): Unit
EventLoopHandler类

TCP框架客户端或者服务端的变乱处理器,循环处理入栈消息,并按必要将消息出栈
TcpEndpoint类

TCP框架服务端实现
ClientTcpEndpoint类

TCP框架客户端实现,服务端支持非Hyperion TCP框架的服务端
2.1 Hyperion TCP框架编解码模块的架构图

Hyperion TCP框架的的编解码模块的架构图如下:

ProtocolEncoder接口

编码器接口
ProtocolDecoder接口

解码器接口
ProtocolCodecFilter类

一对编码器、解码器的组合,实现了IoFilter接口
StringToByteMessageEncoder

字符串编码器
ByteToStringMessageDecoder

字符串解码器
LengthBasedFrameEncoder

带长度的报文编码器
LengthBasedFrameDecoder

带长度的报文解码器
以上就是本篇文章所带来的鸿蒙开辟中一小部分技能讲授;想要学习完备的鸿蒙全栈技能。可以在结尾找我可全部拿到!
下面是鸿蒙的完备学习门路,展示如下:


除此之外,根据这个学习鸿蒙全栈学习门路,也附带一整套完备的学习【文档+视频】,内容包罗如下
   内容包罗了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开辟、音频、视频、WebGL、OpenHarmony多媒体技能、Napi组件、OpenHarmony内核、鸿蒙南向开辟、鸿蒙项目实战)等技能知识点。资助大家在学习鸿蒙路上快速成长!
  鸿蒙【北向应用开辟+南向系统层开辟】文档笔记


鸿蒙【基础+实战项目】视频


鸿蒙面经


为了避免大家在学习过程中产生更多的时间资源,对比我把以上内容全部放在了↓↓↓想要的可以自取喔!谢谢大家观看!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

反转基因福娃

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表