论坛中,如何知道对方是否在线?

期待年轻 发布于 2010/11/15 14:46
阅读 471
收藏 2

如题:类似人认网,开心网,或则我们的oschina是如何检测到好友是否在线的啊?

加载中
0
红薯
红薯

web 项目的在线状态是比较难的,关键是用户直接关闭浏览器或者是掉线的时候

可参考oschina的做法:http://www.oschina.net/code/snippet_12_614

该功能目前并没有放出来。

以前有看过别人网站的实现方法,是在页面上嵌了一个js代码,每个几秒钟就往服务器发心跳包,如果超过时间服务器没接收到心跳包就认为这个用户下线了,这个就比较精确一些,不过负载要大很多。

0
期待年轻
期待年轻

原来红薯老大时刻都在守候着啊!学习了,继续研究中...

0
jing31
jing31

其实如果不是特别精确,可以把用户在线状态放在缓存里面,缓存设置5分钟失效就可以了。

然后用户每次操作都去更新这个缓存标记,这样系统的开销也比较小一些。

0
红薯
红薯

引用来自#4楼“jing31”的帖子

其实如果不是特别精确,可以把用户在线状态放在缓存里面,缓存设置5分钟失效就可以了。

然后用户每次操作都去更新这个缓存标记,这样系统的开销也比较小一些。

oschina就是这样实现的:)

我觉得这种方式够用了,毕竟web应用对在线状态的准确性要求不是特别高。

0
jing31
jing31

引用来自#5楼“红薯”的帖子

引用来自#4楼“jing31”的帖子

其实如果不是特别精确,可以把用户在线状态放在缓存里面,缓存设置5分钟失效就可以了。

然后用户每次操作都去更新这个缓存标记,这样系统的开销也比较小一些。

oschina就是这样实现的:)

我觉得这种方式够用了,毕竟web应用对在线状态的准确性要求不是特别高。

嘿嘿,不小心采用了一样的方式~

0
返回顶部
顶部