3 个版本 (有重大变化)
0.5.0 | 2023 年 12 月 27 日 |
---|---|
0.3.0 | 2023 年 10 月 20 日 |
0.1.0 | 2023 年 7 月 4 日 |
#1849 在 网络编程
795KB
16K SLoC
rust-rcs-client
一个简单、实用的 RCS 客户端库。
RCS 功能主要由您的蜂窝网络提供。这是一个工作的客户端实现。
主要功能
此库提供了 RCS 应用/服务所需的大部分功能。如下所示
这个库提供了一个 RCS 客户端所需要的大部分功能,列举如下:
自动配置
自动配置流程
消息发送/接收
消息收发
文件上传/下载
文件上传/下载
聊天机器人
聊天机器人
如何使用
要在真实设备(如 Android 手机)中使用此库,您应该编译正确的架构。您可能需要添加一个 .cargo/config 文件来告诉 Rust 使用您特定的工具链。它通常如下所示
在真机上使用时需要注意编译架构。在工作目录添加 .cargo/config 文件可以修改 Rust 在编译到具体架构时所使用的工具链,一般如下:
[target.aarch64-linuex-android]
linker = "your clang"
[env]
CC_aarch64-linux-android = "your clang"
AR_aarch64-linux-android = "your llvm-ar"
此外,为了在 Android 下使用库的 .so 版本,您应该指定库的 soname,否则原生代码将无法加载,您可以通过更改构建命令来完成此操作
如果要在安卓下面用 .so 版本的库,需要按照以下指令编译,否则会加载不成功:
RUSTFLAGS='-C link-arg=-Wl,-soname,librust_rcs_client.so' cargo build --target aarch64-linux-android
缺失部分
尽管这个库能在大多数 RCS 网络下运行,但必须指出,有一些向前兼容性的功能确实没有实现,可能会在不同网络配置下造成问题。
虽然这个库能在大部分 RCS 网络下运行(基本就是中国三大运营商),有一些向前兼容性的功能确实是没有实现的。
对于消息:目前只支持 standalone 模式。
暂时只支持消息的 standalone 模式。
对于文件传输:目前只支持 HTTP 模式。
文件传输也只支持 HTTP 模式(中国移动已经把 MSRP 文件传输下线了)。
演示
您可以在以下位置找到演示应用。
https://github.com/Hirohumi/RustyRcs
联系
如果您有任何疑问,请联系 [email protected] 或 QQ:364123445
如有疑问,欢迎联系
依赖项
~31–42MB
~1M SLoC