扫码关注官方订阅号
例如,希望实现有新消息通知用户,目前想到的方法是,settimeout去不断发起ajax向后端请求数据
这种方案有什么弊端吗?
或者有什么更好的方案?可以由服务器push给浏览器?
人生最曼妙的风景,竟是内心的淡定与从容!
之前也在处理这个问题,如果只要新消息通知的话,可以用 SSE(Server-sent Events)推送。相比使用WebSocket要方便很多,在服务端无需太多操作,很简单的就能加上功能。WebSocket是双向的,SSE是单向的,对于推送消息足够了。对于旧的ajax轮询方式,SSE协议省了很多不必要的冗余数据。兼容性上,如果要顾及IE,得针对性处理一下。
可以看看这篇文章,底下也附带了很多相关资料 https://my.oschina.net/jb2011...
服务器推送事件(Server-sent Events),简称SSE,是 HTML 5 规范中的一个组成部分,可以用来从服务端实时推送数据到浏览器端。相对于与之类似的 COMET 和 WebSocket 技术来说,服务器推送事件的使用更简单,对服务器端的改动也比较小。对于某些类型的应用来说,服务器推送事件是最佳的选择。
ajax 时间间隔太短 轮循会对服务端造成很大的压力,时间间隔太长,消息通知不及时。
最好用websocket 就是专门做这种事情的啊
嗯 ajax确实很费服务器 所以用websocket看看这篇文章:websocket
如果用的http协议,通过ajax不断向后台询问没什么问题。
http
ajax
1、AJAX定时,但达不到及时2、服务端推送,多了就慢要花钱...3、用楼上说的WebSocket吧,长监听,emit/on
setTimeout是最笨的方法,开销大,而且可能一直做无用功。前段时间我们做了个类似的功能,用的是socket.io,服务器是node。
用workerman做过
用第三方来做就好了,没有必要自己搭建后端。看这篇文章【Pusher 提供websocket的广播服务】
实时推送采用websocket
ajax 效率太低
websocket
长连接吗?走的什么协议? 你补充一下场景,现在太笼统了,方案很多的
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
之前也在处理这个问题,如果只要新消息通知的话,可以用 SSE(Server-sent Events)推送。
相比使用WebSocket要方便很多,在服务端无需太多操作,很简单的就能加上功能。WebSocket是双向的,SSE是单向的,对于推送消息足够了。
对于旧的ajax轮询方式,SSE协议省了很多不必要的冗余数据。
兼容性上,如果要顾及IE,得针对性处理一下。
可以看看这篇文章,底下也附带了很多相关资料 https://my.oschina.net/jb2011...
ajax 时间间隔太短 轮循会对服务端造成很大的压力,时间间隔太长,消息通知不及时。
最好用websocket 就是专门做这种事情的啊
嗯 ajax确实很费服务器 所以用websocket
看看这篇文章:
websocket
如果用的
http协议,通过ajax不断向后台询问没什么问题。1、AJAX定时,但达不到及时
2、服务端推送,多了就慢要花钱...
3、用楼上说的WebSocket吧,长监听,emit/on
setTimeout是最笨的方法,开销大,而且可能一直做无用功。
前段时间我们做了个类似的功能,用的是socket.io,服务器是node。
用workerman做过
用第三方来做就好了,没有必要自己搭建后端。看这篇文章【Pusher 提供websocket的广播服务】
实时推送采用websocket
ajax 效率太低
websocket
长连接吗?走的什么协议? 你补充一下场景,现在太笼统了,方案很多的