大家好,我的问题是我需要保持设备(客户端)的状态,因为它们是否在线。
我通过客户端 ID 进行连接,通过订阅主题,我可以知道设备已断开连接,但如果它们再次连接,我如何检查它们是否再次连接。
简而言之,你不需要(在协议级别)。
发布者和订阅者完全不知道彼此,消息被发送到主题而不是特定的订阅客户端。
稍长的版本:
您可以使用保留的消息和 LWT(Last Will & Testament)做一些事情
e.g.
每个客户端向以下主题发布一条保留消息
online/<clientID>
有效负载为true
当它连接时。它还设置了 LWT,将发布有效负载false
如果客户端因网络故障而断开连接。如果客户端完全断开连接,则需要发布false
有效负载作为离线前的最后一个操作。
要判断客户端是否在线,您订阅了通配符主题online/+
然后检查主题的最后一段的 clientid 和状态的有效负载。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)