在我的应用程序中,没有用户活动的超时时间设置为10分钟。在10分钟的空闲时间结束后,用户将退出应用程序.我们最近在应用程序中添加了一个聊天页面。现在,当应用程序进入后台&应用超时时间已经超过时,我们需要从服务器端调用API来结束活动聊天会话,因为用户可以随时从后台打开应用程序,我们不希望会话保持不变,因为会话终止api只在app处于前台时才被调用。
因此,简言之,所需资源如下:
1)跟踪应用程序在前台的空闲时间&即使应用程序移动到后台。(我们是否也应该使用后台处理模式来跟踪后台时间?)
2)当空闲的应用超时时间超过(10分钟)时,当应用程序处于后台时,按一个api调用结束活动聊天会话。(它的前景很好)
发布于 2022-02-16 06:05:42
如果您正在使用Websocket,可以使用ping / pong技术来了解设备是否断开连接。
服务器应该每隔一段时间对客户端进行ping,以了解它仍然处于活动状态或离线状态,这是因为任何原因,比如网络变化,而不仅仅是通过应用程序移动到后台。
当连接建立时,服务器正在保存客户端信息,它将知道哪个客户端到ping,并等待客户端乒乓。
为了控制用户的会话,人们通常使用访问令牌.对于您的情况,访问令牌在10分钟内有效。当客户端向服务器发送请求时,如果令牌过期,我们将使用刷新令牌来请求新的访问令牌,并使用新的有效令牌重试先前的请求。
刷新令牌的过期时间更长。比如30天或90天甚至从未过期。
https://stackoverflow.com/questions/71136949
复制相似问题