鸿蒙开发仓颉语言【Hyperion: 一个支持自定义编解码器的TCP通信框架】组件
·
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
更多推荐
所有评论(0)