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内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上快速成长!
鸿蒙【北向应用开发+南向系统层开发】文档笔记
鸿蒙【基础+实战项目】视频
鸿蒙面经
为了避免大家在学习过程中产生更多的时间成本,对比我把以上内容全部放在了↓↓↓想要的可以自取喔!谢谢大家观看!