浏览器通过JavaScript向服务器发出建立WebSocket连接的请求,客户端就可以通过TCP连接直接交换数据。WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和浏览器或其他客户端都能主动地向对方发送或接受数据
WebSocket的客户端实现:
例:
var ws = new WebSocket("ws://echo.websocket.org");
ws.onopen = function(){
ws.sennd("test!");
};
ws.onmessage = function(msg){
console.log(msg.data);
};
ws.onclose = function(){
console.log("WebSocketClosed!");
}
ws.onerror = function(){
consoloe.log("WebSocketReeor!");
}
第一行代码是在生成一个WebSocket对象,参数是需要连接的服务器端的地址,同http协议开头一样,websocket协议的url使用ws://开头或者wss://开头
第二行到最后一行为WebSocket对象注册消息的处理函数,WebSocket对象一共支持4个消息,onopen,onmessage,onclose,onerror。当浏览器和WebSocket服务器连接成功后,会触发onopen消息,如果连接失败,发送接受数据失败或者处理数据出现错误,会触发oneror消息,当浏览器接收到服务器传输过来的数据,会触发onmessage消息,参数msg中的data属性就包含了服务器传输过来的数据,当浏览器接收到服务器发送的关闭连接的请求时,会触发onerroe和onclose