QQ是如何判断用户离开多久以后变成离开状态?

[复制链接]
查看11 | 回复5 | 2021-1-27 07:15:45 | 显示全部楼层 |阅读模式
如题,现在要做个实时聊天系统,用户在规定时间内无操作时会发送邮件提醒用户
如果做spring的定时任务会太麻烦,而且并不是实时将记录插入数据库的
怎么做才能监控用户的操作时长?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:15:45 | 显示全部楼层
起个守护线程,线程中定时向服务器端发送离开标识数据包,服务器端接受该类型数据包后即可标识对应客户端离开;间隔的时间就是最长无操作时间,再用个变量记录上次发送的时间点每次客户端有操作了就重置该变量
回复

使用道具 举报

千问 | 2021-1-27 07:15:45 | 显示全部楼层
定时器等,周期性判断
回复

使用道具 举报

千问 | 2021-1-27 07:15:45 | 显示全部楼层
引用2楼oyljerry的回复:定时器等,周期性判断
定时器说的是前端的定时器么?我这个做的是javaweb的项目。类似于BOSS直聘的在线聊天
回复

使用道具 举报

千问 | 2021-1-27 07:15:45 | 显示全部楼层
引用1楼pilnyun335857183的回复:起个守护线程,线程中定时向服务器端发送离开标识数据包,服务器端接受该类型数据包后即可标识对应客户端离开;间隔的时间就是最长无操作时间,再用个变量记录上次发送的时间点每次客户端有操作了就重置该变量
引用1楼pilnyun335857183的回复:起个守护线程,线程中定时向服务器端发送离开标识数据包,服务器端接受该类型数据包后即可标识对应客户端离开;间隔的时间就是最长无操作时间,再用个变量记录上次发送的时间点每次客户端有操作了就重置该变量
每一个线程对应每一个客户端么?如果在javaweb中客户端是以多窗口的形式打开在线聊天,那是打开多少个多窗口就要启用多少个守护线程?
回复

使用道具 举报

千问 | 2021-1-27 07:15:45 | 显示全部楼层
听着就好复杂,首先你要判断他是否离开,是根据他最后一步操作来判断呢,还跟QQ一样只要你鼠标挪到APP就激活~~然后你还得给每个用户一个标识监听他的所有操作~~还得不停地查询操作间隔时间。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行