我正在使用 mqtt 和蚊子代理为 Android 平台构建一个简单的即时聊天。现在我想实现一个条件,任何客户端都可以检查另一个客户端是否在线。
我了解遗嘱和遗嘱
,但我希望仅当应用程序处于非 Activity 状态或用户当前未使用该应用程序时才能离线检测到用户。
我实际上不需要任何代码,但是想要一个关于如何实现它的想法,我将非常感激。
最佳答案
您可以在不依赖 MQTT 内部结构的情况下完成此操作,在我看来这要容易得多。通过这种方法,您可以更好地控制正在发生的事情:
客户端可以定期在另一个主题内发送消息,以通知服务器其可用性。如果服务器在指定的时间后没有收到该消息,则可以假设它已离线。
如果用户注销,客户端还可以发送另一条消息并通知服务器。
如果您坚持使用 MQTT 内部结构,您可能会发现这个问题很有用: How to Find Connected MQTT Client Details
关于java - Mqtt 检查客户端是否在线或离线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41879332/