繁体   English   中英

聊天室在线用户列表实施

[英]chatrooms online users list implementation

我必须实现一个聊天室,其中包含该房间中的用户列表。 我将使用mysql + memcache进行此操作。 当用户进入或离开房间时,房间中的用户阵列将被更新。 但是,我们在站点上具有自动注销功能,因此,闲置的用户在闲置30分钟后会注销,这现在是一个问题:

我无法刷新房间中的用户列表,因为我不知道自动注销发生的时间。 我们没有用于注销非活动用户的脚本。 在主要的在线列表中,它们的列出如下:SELECT * FROM users WHERE last_fresh> 1352415100我们的在线列表没有显示用户30分钟以上处于非活动状态,但是我无法在以下列表中存储和更新last_fresh时间:会议室中的每个用户刷新页面时的每次访问。

我怎样才能做到这一点?

取决于您是否要推或拉更改。 推送始终是首选,但需要像nginx-push-module或其他一些服务器端技术。 拉动绝对容易,但会产生更多开销。

如果要拉动,则可以轮询已登录用户的列表,并根据数据刷新会议室列表。 一个更新视图的ajax调用将完成此任务。 看一下jQuery或原型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM