5 unstable releases

0.5.3 Oct 9, 2024
0.5.1 Sep 14, 2024
0.5.0 Dec 27, 2023
0.3.0 Oct 20, 2023
0.1.0 Jul 4, 2023

#658 in Network programming

Download history 163/week @ 2024-09-13 13/week @ 2024-09-20 13/week @ 2024-09-27 150/week @ 2024-10-04 39/week @ 2024-10-11 1/week @ 2024-10-18

289 downloads per month

Apache-2.0

800KB
16K SLoC

rust-rcs-client

A simple, workable RCS client library.

RCS capabilities are mainly provided by your cellular network. This is a working client side implementation.

What does it do 主要功能

This library provides most functions required for an RCS application/service. Listed as follows:

这个库提供了一个 RCS 客户端所需要的大部分功能,列举如下:

auto-config

自动配置流程

message send/receive

消息收发

file upload/download

文件上传/下载

Chatbots

聊天机器人

How to use 如何使用

To use this library in a real device (like a Android mobile), you should compile for the correct architecture. You may want to add a .cargo/config file to tell Rust to use your specific toolchain. It would usually look like this:

在真机上使用时需要注意编译架构。在工作目录添加 .cargo/config 文件可以修改 Rust 在编译到具体架构时所使用的工具链,一般如下:

[target.aarch64-linuex-android]
linker = "your clang"

[env]
CC_aarch64-linux-android = "your clang"
AR_aarch64-linux-android = "your llvm-ar"

Also, for using .so version of the library under Android, you should specify the soname for the library otherwise the native code will not load, you could do this by changing the build command to the following:

如果要在安卓下面用 .so 版本的库,需要按照以下指令编译,否则会加载不成功:

RUSTFLAGS='-C link-arg=-Wl,-soname,librust_rcs_client.so' cargo build --target aarch64-linux-android

What's missing 缺失部分

Although this library will work under most RCS network, I do have to point out there are features missing that might cause problems under a different network coniguration.

虽然这个库能在大部分 RCS 网络下运行(基本就是中国三大运营商),有一些向前兼容性的功能确实是没有实现的。

For messaging: only cpm standalone mode is supported now.

暂时只支持消息的 standalone 模式。

For file transfer: only http file transfer is supported now.

文件传输也只支持 HTTP 模式(中国移动已经把 MSRP 文件传输下线了)。

Demo

You can find a demo App here.

https://github.com/Hirohumi/RustyRcs

Contact

If you have any doubt, contact lydian.ever@gmail.com or QQ:364123445

如有疑问,欢迎联系

Dependencies

~32–43MB
~1M SLoC