WebSocket 的使用

websocket是HTML5开始提供的一种网络通信协议,它的目的是在浏览器之间建立一个不受限的双方通信的通道,比如说,服务器可以在任意时刻发送信息给浏览器。在websocket的API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

  • 基本使用
// 连接服务器
var ws = new WebSocket("接口地址")

// 连接成功触发
ws.onopen = function() {
    alert("连接成功")
}
// 连接失败触发
ws.onerror = function() {
    alert("连接失败")
}
// 发送数据
ws.send(); // 向服务端发送请求
// 接收消息时触发
ws.onmessage = function(MessagEvent) {
    console.log(MessagEvent.data)
}
// 连接关闭的回调函数
ws.onclose = function(){
	alert("close"}
  • readyState
// readyState属性返回实例对象的当前状态,共有四种。
CONNECTING// 值为0,表示正在连接。
OPEN// 值为1,表示连接成功,可以通信了。
CLOSING// 值为2,表示连接正在关闭。
CLOSED// 值为3,表示连接已经关闭,或者打开连接失败。

// 使用:
switch (ws.readyState) {
  case WebSocket.CONNECTING:
    // do something
    break;
  case WebSocket.OPEN:
    // do something
    break;
  case WebSocket.CLOSING:
    // do something
    break;
  case WebSocket.CLOSED:
    // do something
    break;
  default:
    // this never happens
    break;
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐