git clone https://github.com/username/moonbit-mqtt.git
cd moonbit-mqtt
moon build
使用方法
创建客户端
let client = Client::new("localhost", 1883, "test_client")
设置认证信息
let client = Client::new("localhost", 1883, "test_client")
|> Client::set_credentials("username", "password")
设置 Keep-Alive
let client = Client::new("localhost", 1883, "test_client")
|> Client::set_keep_alive(60)
连接到 Broker
let client = Client::new("localhost", 1883, "test_client")
let result = client.connect()
match result {
Ok(connected_client) => // 连接成功
Err(_) => // 连接失败
}
发布消息
let client = Client::new("localhost", 1883, "test_client")
let connected_client = match client.connect() {
Ok(c) => c
Err(_) => abort("Connection failed")
}
let payload = "Hello MQTT".to_bytes()
let _ = connected_client.publish("test/topic", payload)
订阅主题
let client = Client::new("localhost", 1883, "test_client")
let connected_client = match client.connect() {
Ok(c) => c
Err(_) => abort("Connection failed")
}
let _ = connected_client.subscribe("test/topic", QoS0)
取消订阅
let client = Client::new("localhost", 1883, "test_client")
let connected_client = match client.connect() {
Ok(c) => c
Err(_) => abort("Connection failed")
}
let _ = connected_client.unsubscribe("test/topic")
断开连接
let client = Client::new("localhost", 1883, "test_client")
let connected_client = match client.connect() {
Ok(c) => c
Err(_) => abort("Connection failed")
}
let disconnected_client = connected_client.disconnect()
MoonBit MQTT 客户端库
一个用于 MoonBit 编程语言的 MQTT 3.1.1 客户端实现,支持基本的发布/订阅功能。
项目简介
MoonBit MQTT 是一个轻量级的 MQTT 客户端库,为 MoonBit 生态系统提供物联网消息通信能力。该项目实现了 MQTT 3.1.1 协议的核心功能,包括连接管理、消息发布、主题订阅等。
本项目遵循 MQTT 3.1.1 协议规范(OASIS标准),提供类型安全的API设计,充分利用MoonBit的强类型系统确保协议实现的正确性。
核心功能
安装方式
通过 mooncakes.io 安装
从源码构建
使用方法
创建客户端
设置认证信息
设置 Keep-Alive
连接到 Broker
发布消息
订阅主题
取消订阅
断开连接
测试
运行测试:
项目状态
技术特点
开发计划
许可证
本项目采用 Apache-2.0 许可证。
贡献
欢迎提交 Issue 和 Pull Request!
联系方式
致谢
感谢 MoonBit 团队提供的优秀编程语言和工具链支持。