#mqtt-client #mqtt

sys paho-mqtt-sys

低级、不安全的Rust包装器,用于Paho MQTT C客户端库。这是官方Eclipse Paho Rust客户端库的一部分

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异步

Download history 7311/week @ 2024-04-08 6837/week @ 2024-04-15 8311/week @ 2024-04-22 7044/week @ 2024-04-29 9413/week @ 2024-05-06 8720/week @ 2024-05-13 8008/week @ 2024-05-20 6756/week @ 2024-05-27 9689/week @ 2024-06-03 8124/week @ 2024-06-10 8425/week @ 2024-06-17 6837/week @ 2024-06-24 5767/week @ 2024-07-01 7239/week @ 2024-07-08 8292/week @ 2024-07-15 8005/week @ 2024-07-22

29,548 每月下载量
用于 29 个crates (2个直接使用)

EPL-1.0 许可证

12MB
297K SLoC

Rust 245K SLoC // 0.0% comments C 43K SLoC // 0.1% comments JavaScript 6K SLoC // 0.1% comments Python 3K SLoC // 0.1% comments Shell 146 SLoC // 0.2% comments Bitbake 61 SLoC // 0.3% comments RPM Specfile 58 SLoC Batch 11 SLoC // 0.3% comments

低级Eclipse Paho MQTT C客户端库包装器

docs.rs crates.io

一个不安全、低级的包装器,围绕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编译器,但还需要Perlmake

使用SSL/TLS

从版本0.5.0开始,我们使用openssl-sys包,该包允许通过环境变量进一步修改行为,例如指定OpenSSL库的位置或将其静态链接。

有关更多信息,请仔细阅读Rust OpenSSL文档

特别是

  • 如果您使用vendored-ssl,则需要目标机的C编译器、Perlmake

  • 如果您不使用vendored-ssl,它将尝试在构建主机上使用包管理器查找库:Unix-like系统上的pkg-config、macOS上的Homebrew和Windows上的vcpkg

  • 如果所有其他方法都失败了,您可能需要使用环境变量设置库的特定位置。例如,在Windows上,您可能需要这样做

    set OPENSSL_DIR=C:\OpenSSL-Win64

依赖项