前端之vue3使用WebSocket的详细步骤

作者:一只爱吃萝卜的小兔子 时间:2024-04-30 10:28:54 

WebSocket

WebSocket说明

WebSocket 是全双工网络通信通信协议,实现了客户端和服务器的平等对话,任何一方都可以主动发送数据。并且在第一次建立后,就一直保持连接。

WebSocket图示

前端之vue3使用WebSocket的详细步骤

客户端使用WebSocket

vue3中, 客户端使用WebSocket步骤

setup(props) {
   // 1.建立链接 -- 携带cookie参数
   var ws = new WebSocket(
     `ws://localhost:9000/judge/submit?satoken=${cookieValue}`
   );

// 2. ws.send()给服务器发送信息
   let submitCode = JSON.stringify({
    userId: id,
     problemId: props.problemId,
     isDebug: "0",
     lang: lang.value,
     code: code.value,
     info: "",
   });

ws.send(submitCode);

// 3.服务器每次返回信息都会执行一次onmessage方法
   ws.onmessage = function (e) {
     console.log("服务器返回的信息: " + e.data);
     if (e.data === "judging") {
       showTitleClass.color = "green";
       showTitle.value = "judging...";
       showRes.value = "";
     } else if (e.data === "connected") {
       showTitleClass.color = "green";
       showTitle.value = "";
     }
   };
// 4.卸载前, 关闭链接
   onUnmounted(() => {
     ws.close();
   });
 },

更多方法

使用构造函数,新建ws实例

// 执行完本语句,客户端就会与服务器进行连接。
var ws = new WebSocket("wss://echo.websocket.org");

连接成功后的回调函数

ws.onopen = function(evt) {
 console.log("Connection open ...");
 ws.send("Hello WebSockets!");
};
// 若需要多个回调  实例.addEventListener
// ws.addEventListener('open', function (event) {
//  ws.send('Hello Server!');
// });

用于指定收到服务器数据后的回调函数。

服务器数据可能是文本,也可能是二进制数据(blob对象或Arraybuffer对象)

ws.onmessage = function(evt) {
 console.log( "Received Message: " + evt.data);
 ws.close();
};

指定连接关闭后的回调函数。用法同open

ws.onclose = function(evt) {
 console.log("Connection closed.");
};      

来源:https://blog.csdn.net/weixin_46372074/article/details/125147566

标签:vue3,webSocket
0
投稿

猜你喜欢

  • 浅析Python数据处理

    2023-09-08 18:18:34
  • PHPMailer发送邮件功能实现流程

    2023-06-03 13:11:18
  • js实现拖动缓动效果

    2024-04-29 13:44:28
  • django 读取图片到页面实例

    2023-02-22 13:30:50
  • python print()函数的end参数和sep参数的用法说明

    2023-11-02 01:01:38
  • python使用magic模块进行文件类型识别方法

    2022-07-12 18:15:26
  • python shutil操作文件实例讲解

    2022-05-20 06:42:08
  • python实现五子棋小程序

    2023-12-04 20:49:37
  • 浅谈Python的字典键名可以是哪些类型

    2021-06-13 11:39:47
  • JS正则(RegExp)判断文本框中是否包含特殊符号

    2023-05-12 18:18:55
  • 详解使用vue实现tab 切换操作

    2023-07-02 17:06:39
  • Python中的变量及简单数据类型应用

    2021-06-13 09:45:26
  • JavaScript 拾漏补遗

    2024-04-19 09:52:05
  • Python实现的递归神经网络简单示例

    2022-03-26 04:19:48
  • 使用游标进行PHP SQLSRV查询的方法与注意事项

    2023-05-22 10:51:10
  • python 遗传算法求函数极值的实现代码

    2023-08-29 11:36:11
  • 浅谈vuex的基本用法和mapaction传值问题

    2024-06-05 09:18:21
  • 介绍Python的Urllib库的一些高级用法

    2023-03-29 08:28:06
  • MySQL 基于时间点的快速恢复方案

    2024-01-28 17:27:44
  • 详解Python中生成随机数据的示例详解

    2021-12-21 03:56:17
  • asp之家 网络编程 m.aspxhome.com