实时web应用
轮询、基于HTTP流
传统Web实时通信方案
传统轮询
<METH HTTP-RQUIV="Refresh" CONTENT=12>
浏览器每隔12秒要重新加载一次该页面
Ajax轮询
利用Javascript的setTimeout函数,Ajax间隔一定的时间用XMLHttpRequest对象向服务器请求数据,看数据是否有改变,从而对页面的局部进行更新。
长轮询
有服务器端的信息是否有更新决定,如果没有更新数据,连接会保持一段时间周期直到有数据更新或时间过期。
Flash XMLSocket技术
XMLSocket类可以让装有Flash Player的计算机与由IP地址或域名标识的计算机进行通信,客户端不需要发送请求,服务器就可以在开放的连接上随时发送消息。
HTTP流方式
整个过程中只是使用一次HTTP连接请求。通过保持这个连接一直在打开的状态,进而周期性的向浏览器发送数据。
readstatechange事件属性
WebSocket协议是一个基于TCP的请求
全双工的双向通信:
服务器端与客户端将会呈现对等的效果,双方均能接收和发送消息,并且除非客户端或者服务器端的某一方主动关闭连接,否则这个连接会一直保持连接的状态
Websocket对象的socket绑定事件:
onopen--连接建立成功
onmessage--收到服务器信息
Onerror--连接
轮询、基于HTTP流
传统Web实时通信方案
传统轮询
<METH HTTP-RQUIV="Refresh" CONTENT=12>
浏览器每隔12秒要重新加载一次该页面
Ajax轮询
利用Javascript的setTimeout函数,Ajax间隔一定的时间用XMLHttpRequest对象向服务器请求数据,看数据是否有改变,从而对页面的局部进行更新。
长轮询
有服务器端的信息是否有更新决定,如果没有更新数据,连接会保持一段时间周期直到有数据更新或时间过期。
Flash XMLSocket技术
XMLSocket类可以让装有Flash Player的计算机与由IP地址或域名标识的计算机进行通信,客户端不需要发送请求,服务器就可以在开放的连接上随时发送消息。
HTTP流方式
整个过程中只是使用一次HTTP连接请求。通过保持这个连接一直在打开的状态,进而周期性的向浏览器发送数据。
readstatechange事件属性
WebSocket协议是一个基于TCP的请求
全双工的双向通信:
服务器端与客户端将会呈现对等的效果,双方均能接收和发送消息,并且除非客户端或者服务器端的某一方主动关闭连接,否则这个连接会一直保持连接的状态
Websocket对象的socket绑定事件:
onopen--连接建立成功
onmessage--收到服务器信息
Onerror--连接