1
zzNucker 2014 年 8 月 1 日 comet / push /persistent connection
|
2
arbipher 2014 年 8 月 1 日
你想知道有没有人给打你电话?
一种方式是定期看手机有没有来电提示(通过AJAX定期向数据库发送GET请求), 另一种更直观的方法是,听电话铃有没有响(不要笑……),你的耳朵时时刻刻在做这个工作。 你的耳朵和电话之间建立起“长连接”,“铃声”就是电话通过这个长连接推送给你的“消息”,你收到“消息”后再去看手机,到底是谁来电,是接电话还是装死。。。 简单的长连接可以通过WebSocket实现,其实这个问题之前我也是在v2ex问的(http://v2ex.com/t/103113#reply3) |
3
xiparos OP |
6
em70 2014 年 8 月 1 日
消息数据库加个已读标记字段,默认为0,定期监听未读消息,发现有未读就推送给用户,阅读后修改标记为1
网页消息只能定期监听,没其他办法 |
7
cloudzhou 2014 年 8 月 1 日
如果要求及时性不那么高,简单的 ajax 按照时间轮讯就可以了,比如每一分钟。
最好使用类似 redis 来做这种状态的保存。 |
8
hcy 2014 年 8 月 1 日
简单地消息提醒还是用Server-sent Events这个好点。这个用php实现起来很简单.
不过只支持html5 https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events |
9
xiparos OP 刚才看了一下这个:
http://stackoverflow.com/questions/603201/using-comet-with-php 感觉PHP语言本身对于Comet的支持就不是很好,只能作为client端开发用。server端的话还得用Python,Nodejs这样的语言来实现Comet或者Websocket。 |
11
raincious 2014 年 8 月 1 日
|
13
alvin2ye 2014 年 8 月 1 日
|
14
Jelen 2014 年 8 月 1 日
|