当前位置: 首页 > article >正文

websocket vue操作

let websocket: WebSocket;
/** websocket测试 */
function connectWebsocket() {
  if (typeof WebSocket === "undefined") {
    console.log("您的浏览器不支持WebSocket");
    return;
  }

  // let ip = window.location.hostname + ":8080";
  let ip = "10.192.30.161:8080";
  let url = `ws://${ip}/websocket/download`;
  // 打开一个websocket
  websocket = new WebSocket(url);

  // 建立连接
  websocket.onopen = () => {
    console.log("websocket已连接");
    // websocket.send("ping");
  };
  // 客户端接收服务端返回的数据
  websocket.onmessage = (evt) => {
    let data = evt.data
    console.log("websocket返回的数据:", data);
    if (data.length > 0) {
      handleSearch();
    }
  };
  // 发生错误时
  websocket.onerror = (evt) => {
    console.log("websocket错误:", evt);
  };
  // 关闭连接
  websocket.onclose = (evt) => {
    console.log("websocket关闭:", evt);
  };
}
connectWebsocket();

// 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
window.onbeforeunload = function () {
  websocket.close();
}

http://www.kler.cn/a/163218.html

相关文章:

  • 深度学习服务器租赁AutoDL
  • Rust:GUI 开源框架
  • 16008.行为树(五)-自定义数据指针在黑板中的传递
  • Redis - String 字符串
  • 【电力系统】永磁同步电机调速系统带有扰动观测器
  • 中兴光猫修改SN,MAC,修改地区,异地注册,改桥接,路由拨号
  • 快速学会绘制Pyqt5中的所有图(下)
  • Kafka安全性探究:构建可信赖的分布式消息系统
  • 二叉树的非递归遍历(详解)
  • 一款可无限扩展的软件定时器开源框架项目代码
  • 三星AI笔电:年底大战一触即发,行业变革在即
  • 【数据结构和算法】种花问题
  • 快速搭建MyBatis源码调试环境
  • 麒麟V10服务器安装Apache+PHP
  • 基于OpenCV的人脸识别系统案例
  • 交换排序(冒泡排序)(快速排序(1))
  • ElasticSearch之Task management API
  • SQLite基本使用
  • mybatis和mybatisplus中对 同namespace 中id重复处理逻辑源码解析
  • 关于前端原生技术-Jsonp的理解与简述
  • 如何快速构建知识服务平台,打造个人或企业私域流量
  • 二维码智慧门牌管理系统:升级解决方案实现多领域数据综合应用
  • WPF实现文字纵向排布的TabItem
  • 使用 HTML 地标角色提高可访问性
  • printf二进制输出
  • 线程安全与并发区别