我是Mosquitto的新手。我已经在Ubuntu中安装了Mosquitto和Mosquitto Client。我正在尝试使用client-id进行订阅,也尝试使用client-id进行发布,请查看我已在控制台中运行的命令,但不幸的是,订阅者未收到该消息。
订阅 mosquitto_sub -h localhost -t temp/city1 -c -q 2 --id client-one
发布 mosquitto_pub -h localhost -t temp/city1 -m "32 Celsius" -q 2 --id client-one
但是,如果我发布的消息没有客户端ID,则订阅者正在接收消息,那么请帮助我在哪里出错?
如评论中所述,clientId只是它们,它们是连接到代理的每个客户端的唯一标识符。
ClientId必须完全唯一,如果第二个客户端尝试与已经连接的clientid连接,则代理必须断开第一个客户端的连接以允许第二个客户端连接(这由规范规定)。在此示例中,您给订户将在接收第二个消息发布之前将其断开连接。
消息发布到主题,客户可以订阅这些主题(或带有通配符的主题模式)
因此,使用mosquitto命令行工具,您可以执行以下操作:
mosquitto_sub -v -t 'foo/bar'
这将订阅该主题,foo/bar
并在该主题发布消息时先打印出主题,然后再显示消息。要发布包含字符串的消息,testing
请使用:
mosquitto_pub -t 'foo/bar' -m 'testing'
如果命令行上没有提供mosquitto命令行工具,则会生成随机的clientid。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句