欢迎光临,新启科技

基于html5 websocket实现消息通讯

2016/11/15 16:00:09

html5通过window.WebSocket(firefox下是window.MozWebSocket)提供了一种非http的双向连接,这个连接是实时的更是永久的,除非被显示colse。

这就表示只要客户端打开一个Socket并且请求建立了连接(just once),服务端就能实时接收并发送消息,不需手动检测和维持状态。

WebSocket提供的方法和属性可以在firebug中输入Window.WebSocket.prototype看到。

接下去的代码列出了基本的使用思路:

var location = "ws://localhost:port/serlet/xxx";

//服务端处理的servlet


var webSocket = new WebSocket(location);


//webSocket.readyState

var readyStates = {

"CONNECTING":"正在连接“,

”OPEN“ : "已建立连接",

"CLOSING":"正在关闭连接",

"CLOSED":"已关闭连接"

}


webSocket.send(data);//发送数据到服务端,目前只支持文本类型。JSON.stringify(data);JSON.parse(data);


webSocket.onMessage = function(event){

var data = event.data;//从服务端过来的数据

}


webSocket.onOpen = function(event){

//开始通信

}


webSocket.onClose = function(event){

//结束通信

}


webSocket.close();