什么是 kaho
kaho 是一个帮助开发者更加方便地使用 MQTT 协议的 npm 包。它提供了一整套易用的 API 和工具,轻松实现 MQTT 连接和数据订阅,帮助开发者快速构建 MQTT 应用。
安装 kaho
你可以使用 npm 安装 kaho, 也可以在 cdn 上获取 kaho 的最新版本:
npm install kaho --save
<script src="https://cdn.jsdelivr.net/npm/kaho/kaho.min.js"></script>
使用 kaho
连接 MQTT 服务器
首先,你需要从内置 MQTT 连接器中创建一个 MQTT 连接器实例,然后设置连接服务器的 URI、用户名和密码:
const MQTT = require('kaho') const broker = new MQTT.Broker({ uri: 'mqtt://test.mosquitto.org', username: 'admin', password: 'pwd' })
发布消息
下面是一个发布消息的例子,这个例子发布一条消息到名为 test 的主题上:
const topic = 'test' const msg = 'Hello, MQTT!' broker.publish(topic, msg).then((res) => { console.log(`Message published to topic ${topic} with id ${res}`) }).catch((err) => { console.error(err) })
订阅主题
订阅主题需要为 MQTT 连接器实例创建订阅器,然后执行订阅操作:
-- -------------------- ---- ------- ----- ----- - ----------------- ----- --- - - ----- ---------- - ------------------------- --------------------------- --------------- -- - ----------------------- -- ----- -------- ---- --- -------- -------------- -- - ------------------ --
接收消息
订阅了主题之后,就可以接收消息并做出相应的处理了:
subscriber.on('message', (topic, message) => { console.log(`Received message from topic ${topic}: ${message.toString()}`) })
取消订阅
如果需要取消对某个主题的订阅,可以使用如下代码:
subscriber.unsubscribe(topic).then((res) => { console.log(`Unsubscribed from topic ${topic}`) }).catch((err) => { console.error(err) })
断开连接
在使用完 kaho 后,应该断开 MQTT 连接,以保证资源利用的最优化:
broker.disconnect()
总结
到这里,你应该已经了解了如何使用 kaho 创建 MQTT 连接、发布消息、订阅主题、接收消息以及取消订阅和断开连接。
kaho 的出现大大简化了开发者在使用 MQTT 协议时的操作流程,让开发者可以更加专注于业务逻辑的开发。希望 kaho 能够对你的开发工作有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055f1b81e8991b448dcaf1