项目简介
Mars 是一个跨平台的网络组件,包括主要用于网络请求中的长连接,短连接,是基于 socket 层的解决方案,在网络调优方面有更好的可控性,暂不支持HTTP协议。 Mars 极大的方便了开发者的开发效率。
效果演示
编译运行
windows和mac请先合入patch,然后再编译此项目,参考以下两步:
- 下载源码
git clone https://gitee.com/openharmony-sig/mars.git --recurse-submodules
2. 合入patch ,进入路径:mars/library/src/main/cpp/thirdModule,顺序执行下面的命令即可自动合入patch。
chmod +x automatically_apply_mars_patch_files.sh
./automatically_apply_mars_patch_files.sh
至此patch合入完成。
下载安装
ohpm install @ohos/mars
使用说明:
第一步: 初始化,导入 Mars 组件到自己项目中;
...
import { Mars, StnLogic, Xlog, BuildConfig } from '@ohos/Mars/';
import MarsServiceNative from '../wrapper/service/MarsServiceNative';
import MarsServiceProfile from '../wrapper/service/MarsServiceProfile';
import marsnapi from 'libmarsnapi.so';
...
第二步:方法调用,通过marsnapi调用对应方法;
marsnapi.BaseEvent_onCreate();
}
DD一下: 鸿蒙开发各类文档,可关注公众号<程序猿百晓生>获取。
1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案)
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
14.鸿蒙版性能优化指南
.......
接口说明
- StnLogic.setLonglinkSvrAddr - 设置长链接的DEBUG IP
- StnLogic.StnLogic_setShortlinkSvrAddr - 设置短链接的DEBUG IP
- StnLogic.setDebugIP - 设置的DEBUG IP(不区分长/短链接)
- StnLogic.startTask - 任务启动
- StnLogic.stopTask - 任务停止
- StnLogic.hasTask - 判断任务是否存在
- StnLogic.redoTask - 重做所有长短连任务. 注意这个接口会重连长链接.
- StnLogic.clearTask - 停止并清除所有未完成任务.
- StnLogic.reset - 停止并清除所有未完成任务并重新初始化
- StnLogic.resetAndInitEncoderVersion - 停止并清除所有未完成任务并重新初始化, 重新设置encoder version
- StnLogic.setBackupIPs - 设置备份IP,用于long/short svr均不可用的场景下
- StnLogic.makesureLongLinkConnected - 检测长链接状态.如果没有连接上,则会尝试重连.
- StnLogic.setSignallingStrategy - 信令保活
- StnLogic.keepSignalling - 发送一个信令保活包
- StnLogic.stopSignalling - 停止信令保活
- StnLogic.setClientVersion - 设置客户端版本 放入长连私有协议头部
- StnLogic.getLoadLibraries - 获取底层已加载模块
- StnLogic.req2Buf - 网络层获取上层发送的数据内容
- StnLogic.buf2Resp - 网络层将收到的信令回包交给上层解析
- StnLogic.trafficData - 上报信令消耗的流量
- SdtLogic.setCallBack - 设置信令探测回调实例,探测结果将通过该实例通知上层
- SdtLogic.setHttpNetcheckCGI - 设置一个Http连通状态探测的URI
- Xlog.logWrite - 日志写入方式1
- Xlog.logWrite2 - 日志写入方式2
- Xlog.native_logWrite2 - 自定义日志写入
- Xlog.setLogLevel - 设置日志等级
- Xlog.getLogLevel - 获取日志等级
- Xlog.newXlogInstance - 创建xlog的日志单例
- Xlog.releaseXlogInstance - 释放xlog的日志单例
约束与限制
在下述版本验证通过:
- DevEco Studio 版本:4.1Canary(4.1.3.414) , OpenHarmony SDK:API 11 (4.1.0.55)
目录结构
|---- library
| |---- cpp # 示例代码文件夹
| |---- mars # C++库文件
| |---- ets
| |---- sdt
| |---- SdtLogic # sdt对外封装接口
| |---- stn
| |---- StnLogic # stn对外封装接口
| |---- xlog # xlog对外封装接口
| |---- Xlog # xlog对外封装接口
|---- README.md # 安装使用方法