9.4 WebSocket
优质
小牛编辑
139浏览
2023-12-01
WebSocket与本章前三节介绍的内容不同,它是HTML5原生支持的功能。使用WebSocket需要外部服务器的支持。
在使用WebSocket通信前需要先连接到外部的WebSocket服务器:
var connection = new WebSocket('ws://127.0.0.1');
当连接打开后会触发onopen
事件:
connection.onopen = function(){
//do something when the connection is open
}
向服务器发送数据使用send
方法:
connection.send(data);
其中data
可以是ArrayBuffer
、Blob
或字符串。
当接收到来自服务器的数据时会触发onmessage
事件:
connection.onmessage = function(result){
//do something with result
}
其中result
是一个对象,可以通过result.data
访问数据。如果传送的数据是二进制数据,还可以通过result.data.byteLength
和result.data.binaryType
获取二进制数据的长度和类型(ArrayBuffer
或Blob
)。
当WebSocket连接发生异常时会触发onerror
事件:
connection.onerror = function(error){
console.log(error);
};
更多有关WebSocket的内容可以参见http://www.html5rocks.com/zh/tutorials/websockets/basics/。