Skip to main content

发布字符串消息

发布消息方法的签名是:

client#publish(topic, message, [options], [callback])

  • topic 为消息的topic名称,topic名称就类似今日头条的用户,你订阅了才可能收到对方的更新消息。或者像微信公众号一样,只有订阅了,才可能收到通知。还可以认为是一个信箱。这里的topic全称叫topic name,要和topic filter区分开,topic name是不能含有通配符+和#的,必须是具体的。
  • message 是publish消息的payload,可以是String或者Buffer类型
  • options 是个Object类型
    • qos 消息的qos,可选值0、1、2
    • retain 设置为retain,消息会保存到topic tree上,当有新用户订阅时,如果topic下存在retain消息,会马上推送给用户。
    • dup 如果消息发送之后没有收到puback或者pubrec,那么客户端过段时间会重发,此时dup应该设置为true
  • callback 如果是qos 0消息,会发送完之后马上执行,如果是qos 1消息会在收到puback之后执行,如果是qos 2消息,会在收到pubcomp消息后执行。

发送字符串消息的示例代码如下:

client.publish('test/topic', 'Hello', {qos: 1})