【JS笔记】Web Socket
Web Socket 的目标是通过一个长时连接实现与服务器全双工、双向通信。Web Socket 已得到所有主流浏览器的支持。
let socket = new WebSocket(绝对URL,字符串数组-内含客户端支持的子协议,供服务器挑选);//连接建立后可以在socket.protocol上读到服务器支持的子协议的值
let socket = new WebSocket ("ws://www.example.com/server.php");
必须给WebSocket构造函数传入一个绝对URL。另外,同源策略不适用于Web Socket。
比如可以用onOpen和onError事件监听webSocket建立连接状态的变化和发生的错误。
- 向服务器发送数据 send()
let stringData = "Hello World!";
socket.send(stringData);
- 服务端向客户端发送数据是,WebSocket对象上会触发message事件。
socket.onmessage = function(event){
let data = event.data;
// 对数据执行某些操作
}
可以通过设置WebSocket对象的binaryType属性的值,决定接受数据的类型,“blob”或“arraybuffer”等。