实例代码:
// 创建一个Socket实例
var wsUri ="ws://192.168.1.107/webSocket/9999";
var websocket;
var interval;//心跳是给后台判断是否还要前端发送数据
function initWebSocket() {
websocket = new WebSocket(wsUri);
//只是打开连接
websocket.onopen = function(evt) {
onOpen(evt)
};
//关闭连接,断网会关闭一次
websocket.onclose = function(evt) {
console.log("close");
//以下方法不能实现重连,会不断的创建实例
// setTimeout(function(){
// initWebSocket();
// },3000)
};
//只要连接成功,后台都会返回数据
websocket.onmessage = function(evt) {
console.log(evt.data);
};
//如果连接不成功(如断网了),而我们又用了“心跳”不断的往后台发数据,则都会进这个方法
websocket.onerror = function(evt) {
console.log('error:'+ evt.data);
//以下方法不能实现重连,会不断的创建实例
// setTimeout(function(){
// initWebSocket();
// },3000)
};
}
function onOpen(evt) {
console.log("open");
interval=setInterval(function () {//只是给后台做一个判断,检测前端是否还在连接中。
var send_data={type:'beat'};
var str=JSON.stringify(send_data);
websocket.send(str);
},5000);
}
if('WebSocket' in window){
initWebSocket();
}