WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。
具体用法如下:
1、用到的插件:sockjs.js
2、var wsLink = "ws://......"; 注:ws 和http 一样,同为通讯协议,websock的链接必须是ws开头;
var ws=null;
if(ws==null||new WebSocket(wsLink).readyState != '1'){
//链接你的websock
ws = new WebSocket(wsLink);
}
//打开链接时触发
ws.onopen = function (evt) {
};
//发生错误时触发
ws.onerror = function (evt) {
//关闭链接
ws.close();
};
//收到服务器端发来的信息是触发
ws.onmessage = function (evt) {
//这是我自定义的函数,随意写
changeAuctionPriceWs(evt);
};
次方法在微信端可能会失效,解决方法就是将上述代码添加到一个定时器中,如下:
setTimeout(function() {
if(ws==null||new WebSocket(wsLink).readyState != '1'){
ws = new WebSocket(wsLink);
}
ws.onopen = function (evt) {
};
ws.onerror = function (evt) {
ws.close();
};
ws.onmessage = function (evt) {
changeAuctionPriceWs(evt);
};
}.bind(this), 1000);