java - Mqtt 检查客户端是否在线或离线

标签 java mqtt

我正在使用 mqtt 和蚊子代理为 Android 平台构建一个简单的即时聊天。现在我想实现一个条件,任何客户端都可以检查另一个客户端是否在线。

我了解遗嘱和遗嘱,但我希望仅当应用程序处于非 Activity 状态或用户当前未使用该应用程序时才能离线检测到用户。

我实际上不需要任何代码,但是想要一个关于如何实现它的想法,我将非常感激。

最佳答案

您可以在不依赖 MQTT 内部结构的情况下完成此操作,在我看来这要容易得多。通过这种方法,您可以更好地控制正在发生的事情:

客户端可以定期在另一个主题内发送消息,以通知服务器其可用性。如果服务器在指定的时间后没有收到该消息,则可以假设它已离线。

如果用户注销,客户端还可以发送另一条消息并通知服务器。

如果您坚持使用 MQTT 内部结构,您可能会发现这个问题很有用: How to Find Connected MQTT Client Details

关于java - Mqtt 检查客户端是否在线或离线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41879332/

相关文章:

c - C 中的 mosquitto 和 SSL/TLS

java - 使用 Hibernate 更新表

amazon-web-services - @aws_subscribe 注释的目的是什么?

java - 如何在 Spring MVC 中根据用户输入创建新的 url

java - 如何重新启动 Activity 并保存 Android SDK 中所有先前打开的 Activity < 11

javascript - mqttjs subscribe 命令中的 -v 代表什么

python - Django在不同进程中处理数据

ios - 如何将包含 pod 的框架添加到另一个项目中

java - method.getClass().newInstance() 和 SomeClass.class.newInstance() 之间的区别?

java - 以地球为中心的地球经纬度高度在 Swift 中固定