Update README.md
一个用于 MoonBit 编程语言的 MQTT 3.1.1 协议编码器/解码器实现,提供MQTT消息的编码和解码功能。
MoonBit MQTT 协议库提供 MQTT 3.1.1 协议的完整编码和解码功能,为 MoonBit 生态系统提供构建物联网消息通信应用的基础组件。本项目实现了 MQTT 3.1.1 协议规范(OASIS标准)的核心数据结构和编解码逻辑,可作为构建完整MQTT客户端或服务器的基础。
本项目遵循 MQTT 3.1.1 协议规范,提供类型安全的API设计,充分利用MoonBit的强类型系统确保协议实现的正确性。
moon add username/moonbit-mqtt
git clone https://github.com/username/moonbit-mqtt.git cd moonbit-mqtt moon build
let connect = { client_id: "test_client", username: Some("username"), password: Some("password"), will_topic: None, will_message: None, keep_alive: 60, flags: { username: true, password: true, will_retain: false, will_qos: QoS0, will_flag: false, clean_session: true, }, } let packet = encode_connect(connect)
let publish = { topic: "test/topic", payload: "Hello MQTT".to_bytes(), qos: QoS0, message_id: None, retain: false, dup: false, } let packet = encode_publish(publish)
let connack_bytes = [0x20u8, 0x02u8, 0x00u8, 0x00u8] let connack = decode_connack(connack_bytes) // connack.return_code == ConnectionAccepted
let suback_bytes = [0x90u8, 0x03u8, 0x00u8, 0x01u8, 0x00u8] let suback = decode_suback(suback_bytes) // suback.message_id == 1 // suback.return_codes == [SuccessQoS0]
运行测试:
moon test
本项目采用 Apache-2.0 许可证。
欢迎提交 Issue 和 Pull Request!
感谢 MoonBit 团队提供的优秀编程语言和工具链支持。
MoonBit MQTT 协议库提供 MQTT 3.1.1 协议的完整编码和解码功能,为 MoonBit 生态系统提供构建物联网消息通信应用的基础组件。本项目实现了 MQTT 3.1.1 协议规范(OASIS标准)的核心数据结构和编解码逻辑,可作为构建完整MQTT客户端或服务器的基础
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MoonBit MQTT 协议编码器/解码器库
一个用于 MoonBit 编程语言的 MQTT 3.1.1 协议编码器/解码器实现,提供MQTT消息的编码和解码功能。
项目简介
MoonBit MQTT 协议库提供 MQTT 3.1.1 协议的完整编码和解码功能,为 MoonBit 生态系统提供构建物联网消息通信应用的基础组件。本项目实现了 MQTT 3.1.1 协议规范(OASIS标准)的核心数据结构和编解码逻辑,可作为构建完整MQTT客户端或服务器的基础。
本项目遵循 MQTT 3.1.1 协议规范,提供类型安全的API设计,充分利用MoonBit的强类型系统确保协议实现的正确性。
核心功能
安装方式
通过 mooncakes.io 安装
从源码构建
使用方法
编码CONNECT消息
编码PUBLISH消息
解码CONNACK消息
解码SUBACK消息
测试
运行测试:
项目状态
技术特点
开发计划
许可证
本项目采用 Apache-2.0 许可证。
贡献
欢迎提交 Issue 和 Pull Request!
联系方式
致谢
感谢 MoonBit 团队提供的优秀编程语言和工具链支持。