怎么做一个用户消息提醒功能,就是不用刷新页面的。

客户不用刷新页面,后端直接就发送信息提醒到客户端,这个要用什么技术来搞啊。

类似于本站的回复提醒功能。

阅读 10k
11 个回答

HTTP在keep-alive期间也能保持连接.

HTTP keep-alive connection timeouts
Firefox: 约115秒(定义在about:config中的network.http.keep-alive.timeout)
Chrome:  约320秒
Opera:   约120秒
MSIE:    约60秒(可以在注册表中自定义)
Nginx:   默认值75秒(keepalive_timeout 75s)

所以可以每隔30秒(保证在keep-alive周期里)用AJAX轮询一次服务器,开销会小得多.
而且基于AJAX,兼容性也比WebSocket要好,服务器端逻辑也更简单.
所以,基于AJAX和keep-alive,用来做消息提醒功能还是可行的.

不过就算在keep-alive期间,每次请求客户端和服务器仍需要发送HTTP header,而WebSocket是不需要的.

ajax,websocket,等等

ajax 或websocket
举个例子
clipboard.png

这是segmentfault右上角的提醒的socket接口 了解下

站内搜下吧 这个问题的帖子很多

websocket/浏览器弹窗

使用websocket很容易实现http长连接。ajax轮询也可以。不过比较消耗http资源

php的话就是ajax长轮询,websocket需要搭建一个socket服务,不如ajax来的简单,而且兼容性好,最主要的是,你改起来不费力啊

websocket! 可以看看faye

后台写定时器也可以的,或者每个端加个触发推送

websocket
ajax轮询,好像还有个,名字忘了,就是改下过期时间(对于流量大的就放弃吧)
SOCKET.IO 2.0
app的也差不多,不过一般喜欢推送极光之类的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题