12个版本 (7个重大更改)
0.9.0 | 2023年10月25日 |
---|---|
0.8.1 | 2023年3月20日 |
0.8.0 | 2023年1月12日 |
0.7.1 | 2022年12月20日 |
0.2.0 | 2018年11月21日 |
#910 在 异步
29,548 每月下载量
用于 29 个crates (2个直接使用)
12MB
297K SLoC
低级Eclipse Paho MQTT C客户端库包装器
一个不安全、低级的包装器,围绕Eclipse Paho C库,可用于在Linux/Posix、Mac和Windows等内存管理操作系统中编写Rust MQTT客户端库。这主要用于Eclipse Paho Rust库,该库在之上提供安全的Rust接口。
此包可以自动构建推荐的Paho C版本。这是默认行为,随“捆绑”功能一同提供。它使用cmake crate,该crate也可以为目标交叉编译C库。
如果不使用“捆绑”构建,它将尝试链接到预先安装的库版本。它对C版本相当敏感。
当前推荐的Paho C版本是:v1.3.13
可配置功能
默认功能包括:["bundled", "ssl"]
完整的功能集包括以下内容
- "bundled" - 是否构建Git子模块中包含的Paho C库。这类似于其他Rust项目中“供应商”功能。如果不选择,它将尝试为目标查找并链接到预先安装的Paho C库版本。
- "build_bindgen" - 是否使用bindgen为目标生成C语言绑定。如果没有设置,构建将尝试为目标查找并使用预构建的绑定。
- "ssl" - 是否启用安全套接字和安全WebSocket连接的使用。
- "vendored-ssl" - 是否构建OpenSSL。这传递“供应商”选项给openssl-sys crate。如果尚未设置,它还将选择"ssl"选项。
“捆绑”功能需要CMake
和目标C编译器。
“供应商-ssl”功能也需要目标C编译器,但还需要Perl
和make
。
使用SSL/TLS
从版本0.5.0开始,我们使用openssl-sys包,该包允许通过环境变量进一步修改行为,例如指定OpenSSL库的位置或将其静态链接。
有关更多信息,请仔细阅读Rust OpenSSL文档。
特别是
-
如果您使用vendored-ssl,则需要目标机的C编译器、
Perl
和make
。 -
如果您不使用vendored-ssl,它将尝试在构建主机上使用包管理器查找库:Unix-like系统上的
pkg-config
、macOS上的Homebrew
和Windows上的vcpkg
。 -
如果所有其他方法都失败了,您可能需要使用环境变量设置库的特定位置。例如,在Windows上,您可能需要这样做
set OPENSSL_DIR=C:\OpenSSL-Win64