https://www.ibm.com/developerworks/cn/web/1112_huangxa_websocket/index.html
ajax轮询
ajax轮询的原理非常简单,让浏览器隔个几秒就发送一次请求,询问服务器是否有新信息。
long poll
long poll 其实原理跟 ajax轮询 差不多,都是采用轮询的方式,不过采取的是阻塞模型(一直打电话,没收到就不挂电话),也就是说,客户端发起连接后,如果没消息,就一直不返回Response给客户端。直到有消息才返回,返回完之后,客户端再次建立连接,周而复始。
缺陷
ajax轮询 需要服务器有很快的处理速度和资源。(速度)long poll 需要有很高的并发,也就是说同时接待客户的能力。(场地大小)
js建立websocket链接
var ws = new WebSocket("wss://1921.168.10.24:5050");
WebSocket实例对象的属性和方法(send、close)
readyState: CONNECTING 0 正在连接;OPEN 1 连接成功;CLOSING 2 正在关闭;CLOSED 3 连接已经关闭,或者打开连接失败
bufferedAmount 还有多少字节的二进制数据没有发送出去
onopen 连接成功后的回调函数
onclose 连接关闭后的回调函数
onmessage 收到服务器消息时执行的回调函数
onerror 报错时的回调函数
send 向服务器发送数据
close 关闭连接