在正常情况下,如果一个页面需要进行部分数据更新操作,只需要发送一个异步请求到服务器,而后接受服务器返回的数据。但是有些业务可能需要由服务器推送数据给客户端,此类业务该如何实现呢?这类业务一般可以使用websocket或者反向ajax。& h! o% k' Y. q1 D7 Q websocket:2 `* w4 i1 O- W
websocket不必多说,他是一个长连接,可双向数据通信。但是成本比较高,适合做即使通讯。% e. E# [$ B& X 反向ajax:" s- z9 A& ?4 c r6 @
反向ajax是指客户端不必从服务器获取信息,服务器会把相关信息直接推送到客户端。在一个标准的HTTP Ajax请求中,数据是发送给服务器端的,而反向Ajax可用某些特定的方式来模拟发出一个Ajax请求,让服务器尽可能快地向客户端发送事件。 9 J$ H; N k0 c \/ o d; `反向ajax后端PHP具体实现代码:% o6 b3 R* A v9 e/ o
在PHP中实现反向ajax需要使用ob缓存,通过不断的输出ob缓存区的内容到客户端6 D; m( a8 ~$ ~( _