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

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内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上快速成长!

鸿蒙【北向应用开发+南向系统层开发】文档笔记

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

鸿蒙面经


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

相关推荐
fake_ss1982 小时前
AI时代学习全栈项目开发的新范式
java·人工智能·学习·架构·个人开发·学习方法
米高梅狮子3 小时前
第2章 docker容器
运维·docker·云原生·容器·架构·kubernetes·自动化
微学AI4 小时前
Hermes Agent vs Claude Code 架构对比与创新分析
架构
沪漂阿龙4 小时前
面试题详解:检索链路设计全攻略——RAG 检索架构、查询理解、多路召回、混合检索、Rerank、上下文构造与评估闭环
大数据·人工智能·架构
码云之上5 小时前
万星入坞·其二:子应用如何优雅地"入坞"
性能优化·架构·前端框架
Apache RocketMQ5 小时前
RocketMQ 源码解析——Controller 高可用切换架构
架构·rocketmq·java-rocketmq
数字化顾问6 小时前
(122页PPT)数字化架构的演进和治理(附下载方式)
java·运维·架构
悟乙己6 小时前
构建金融级 AI Agent:Claude for Financial Services 架构解析
人工智能·金融·架构
nashane6 小时前
HarmonyOS 6学习:PC端悬浮窗模式与智能长截图的协同优化实战
学习·华为·harmonyos
摘星编程7 小时前
从“单兵作战“到“团队协作“——解析 JiuwenSwarm 的 Team Agent 多智能体架构
架构