5个版本

使用旧Rust 2015

0.1.4 2016年6月13日
0.1.3 2016年6月2日
0.1.2 2016年4月18日
0.1.1 2016年4月17日
0.1.0 2016年3月21日

#1134 in 异步

Download history · Rust 包仓库 25/week @ 2024-03-04 · Rust 包仓库 25/week @ 2024-03-11 · Rust 包仓库 32/week @ 2024-03-18 · Rust 包仓库 13/week @ 2024-03-25 · Rust 包仓库 44/week @ 2024-04-01 · Rust 包仓库 18/week @ 2024-04-08 · Rust 包仓库 28/week @ 2024-04-15 · Rust 包仓库 32/week @ 2024-04-22 · Rust 包仓库 28/week @ 2024-04-29 · Rust 包仓库 22/week @ 2024-05-06 · Rust 包仓库 26/week @ 2024-05-13 · Rust 包仓库 34/week @ 2024-05-20 · Rust 包仓库 22/week @ 2024-05-27 · Rust 包仓库 21/week @ 2024-06-03 · Rust 包仓库 16/week @ 2024-06-10 · Rust 包仓库 31/week @ 2024-06-17 · Rust 包仓库

94 每月下载量
用于 rapt

MIT 许可证

100KB
3K SLoC

RustMQ

Build Status

此仓库是关于MQTT协议的crate集合。

Crates

  • mqtt3 - MQTT协议读写器 Crates.io
  • netopt - TCP/SSL连接 Crates.io
  • mqttc - Rust MQTT客户端 Crates.io

二进制文件

  • mqttc - 控制台MQTT客户端

客户端

客户端具有以下功能

  • QoS 0,QoS 1,QoS 2 发布/订阅
  • 最后一条消息
  • 自动Ping
  • 自动重连
  • 支持SSL(包括TLS v1.1,TLS v1.2)
  • 模块化:mqtt3,netopt
  • 日志记录

连接

let netopt = NetworkOptions::new();
let mut opts = ClientOptions::new();
opts.set_reconnect(ReconnectMethod::ReconnectAfter(Duration::from_secs(1)));
let mut client = opts.connect("127.0.0.1:1883", netopt).expect("Can't connect to server");

发布

client.publish("a/b/c", "hello", PubOpt.at_least_once()).unwrap();
while (client.await().unwrap().is_some()) {};

订阅

client.subscribe("a/b/c").unwrap();
loop {
    match client.await().unwrap() {
        Some(message) => {
            println!("{:?}", message);
        },
        None => {}
    }
}

命令行界面

mqtt-cli

MQTT客户端安装

git clone https://github.com/inre/rust-mq.git
cd rust-mq
make && make install

订阅所有主题

mqttc sub

或者尝试:

mqttc sub -a test.mosquitto.org
mqttc sub -a iot.eclipse.org
mqttc sub -a test.mosca.io
mqttc sub -a broker.hivemq.com

发布到主题

mqttc pub -t a/b/c -m "hello"

服务器

也许在将来

依赖项

~0.6–0.9MB
~13K SLoC