oschina消息功能是怎么实现的?

Leviathans 发布于 2012/07/27 10:08
阅读 209
收藏 0
如题 @红薯
加载中
0
sxgkwei
sxgkwei
在top里面加了js循环那种,隔段时间去一个临时表里去拉数据,你点了之后,把那数据卡嚓了。大概这样吧。。。
sxgkwei
sxgkwei
回复 @BAT_MAN : 以我以前做过的经验,其实它不管你读没读过消息的,只要你点了消息,就进入你的首页,进入的时候传几个参数表示是因为什么东西来这儿的,它就去会把临时表里的那条消息标记删除掉。
Leviathans
Leviathans
@sxgkwei 我主要是想问存储
Leviathans
Leviathans
@sxgkwei 要是放在数据库,怎么能够知道哪些人读消息,哪些人没读过?
sxgkwei
sxgkwei
回复 @BAT_MAN : 我觉得是数据库的可能大点,原因嘛:有些人很久不上有很多消息的,而且服务器重启了消息也还在,如果是内存首先内存不够吧,其次内存的重启了也没有了。
Leviathans
Leviathans
会不会是把数据放到缓存中,例如reids之类的,而不是放数据库中
0
人月神话
人月神话
长连接啊,就是服务器推送。。就是传说中的comet~~
0
人月神话
人月神话
通俗说法就是,服务器有个消息队列,当发现消息时候,消息会往消息队列里装,而浏览器每隔一段时间通过特定url主动请求拿这个消息。
sxgkwei
sxgkwei
回复 @人月神话 : 。。不跟你扯了。
人月神话
人月神话
回复 @sxgkwei : 你知道这种连接怎么保持的么。。是浏览器端不断发送请求保持的。从而达到一个有状态的效果。
sxgkwei
sxgkwei
回复 @人月神话 : 你说的长连接,即web一直保持着和服务器的链接。。。。是有这种技术的。。。
人月神话
人月神话
回复 @sxgkwei : 按你这么说,消息推送是不需要发生请求拿到服务器的东西。http是无状态的,不发生请求拿到服务器的数据,你认为可能么。。?
sxgkwei
sxgkwei
回复 @人月神话 : 消息推送,怎么说也是从服务器端主动推送到web这边来吧?还用的着web这边不停的发链接去请求么?
下一页
0
情天大圣
情天大圣

兄弟,你问的是OSC的动弹么,如果是,请参考:

http://www.oschina.net/question/101886_61323

返回顶部
顶部