Hyperion: 一个支持自定义编解码器的TCP通信框架
特性
- 支持自定义编解码器
- 高效的ByteBuffer实现,降低请求处理过程中数据拷贝
- 自带连接池支持,支持连接重建、连接空闲超时
- 易于扩展,可以积木式添加IoFilter处理入栈、出栈消息
组件
- hyperion.buffer: 支持扩容的ByteBuffer实现
- hyperion.logadapter:支持打印异常堆栈的日志实现,可以适配第三方日志系统
- hyperion.objectpool:对象池实现
- hyperion.threadpool:线程池实现
- hyperion.transport:支持自定义编解码器的TCP通信框架
Redis仓颉语言客户端SDK:[redis-sdk]项目使用了该TCP框架,并实现了RESP2、RESP3协议的编解码。
ActiveMQ仓颉语言客户端SDK:acitvemq4cj项目使用了该TCP框架。
1. 编译和测试
工程目录结构
|---samples 使用Hyperion TCP框架的示例目录
|---src Hyperion TCP框架的源码目录
|---module.json
|---README.md
1.1 编译步骤
清理工程,在工程根目录下运行:
$> cjpm clean
编译工程,在工程根目录下运行:
$> cjpm build
编译的静态库位于:
build/release/hyperion/hyperion.buffer.cjo
build/release/hyperion/hyperion.logadapter.cjo
build/release/hyperion/hyperion.objectpool.cjo
build/release/hyperion/hyperion.threadpool.cjo
build/release/hyperion/hyperion.transport.cjo
1.2 单元测试
在工程根目录下运行:
$> cjpm test
1.3 运行示例程序
编译服务端示例程序,在samples/echo_server目录下运行:
$> cjpm build
启动服务端,在samples/echo_server目录下运行:
$>./build/release/bin/main
编译客户端示例程序,在samples/echo_client目录下运行:
$> cjpm build
启动服务端,在samples/echo_client目录下运行:
$>./build/release/bin/main
以上就是本篇文章所带来的鸿蒙开发中一小部分技术讲解;想要学习完整的鸿蒙全栈技术。可以在结尾找我可全部拿到!
下面是鸿蒙加粗样式的完整学习路线,展示如下:
除此之外,根据这个学习鸿蒙全栈学习路线,也附带一整套完整的学习【文档+视频】,内容包含如下:
内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上快速成长!
为了避免大家在学习过程中产生更多的时间成本,对比我把以上内容全部放在了↓↓↓想要的可以自取喔!谢谢大家观看!