如何使用保持活动消息来检测与游戏应用程序断开连接的用户?

问题描述 投票:0回答:1

我正在使用 Android Studio 和 java 开发一个游戏应用程序,并且使用 Firebase 实时数据库来处理用户之间的连接和发送消息。 在这个应用程序中,多个“访客”连接到 1 个“主机”,基本上它们都在相同的游戏代码下连接到数据库的子级并在那里发送消息。

我的问题是我希望主持人能够识别与其中一位客人突然断线的情况,从而将他从游戏中删除。同样,我希望在主机断开连接时执行一些操作。

除了我的访客活动中的 OnDisconnect 之外:

playersRef.child(playerId).onDisconnect().setValue(myEnum.QUIT);

我想实现一个保持活动的消息系统,以涵盖我的应用程序可能终止的所有情况。

我不确定如何实现这种系统在游戏进行时在我的应用程序后台持续运行。 我希望房东能够跟踪房客,并能够知道其中一位房客何时不在。 有没有办法实现这样的类?

java android firebase firebase-realtime-database connection
1个回答
0
投票

我首先让每个客户端定期写入一个

lastSeenAt
时间戳,然后其他客户端可以使用该时间戳来确定该客户端上次活动/查看的时间,并使用它来确定如何处理其数据。

这是一个非常广泛的描述 - 因为如何实现 keep-alive 是一个非常广泛的主题,并且不容易在 Stack Overflow 上简洁地回答。

© www.soinside.com 2019 - 2024. All rights reserved.