最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端之vue3使用WebSocket的詳細(xì)步驟

 更新時(shí)間:2022年11月25日 09:38:30   作者:一只愛吃蘿卜的小兔子  
websocket實(shí)現(xiàn)的全雙工通信,真真太香了,下面這篇文章主要給大家介紹了關(guān)于前端之vue3使用WebSocket的詳細(xì)步驟,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

WebSocket

WebSocket說明

WebSocket 是全雙工網(wǎng)絡(luò)通信通信協(xié)議,實(shí)現(xiàn)了客戶端和服務(wù)器的平等對(duì)話,任何一方都可以主動(dòng)發(fā)送數(shù)據(jù)。并且在第一次建立后,就一直保持連接。

WebSocket圖示

客戶端使用WebSocket

vue3中, 客戶端使用WebSocket步驟

  setup(props) {
    // 1.建立鏈接 -- 攜帶cookie參數(shù)
    var ws = new WebSocket(
      `ws://localhost:9000/judge/submit?satoken=${cookieValue}`
    );
    
    // 2. ws.send()給服務(wù)器發(fā)送信息
    let submitCode = JSON.stringify({
     userId: id,
      problemId: props.problemId,
      isDebug: "0",
      lang: lang.value,
      code: code.value,
      info: "",
    });

    ws.send(submitCode);
    
    // 3.服務(wù)器每次返回信息都會(huì)執(zhí)行一次onmessage方法
    ws.onmessage = function (e) {
      console.log("服務(wù)器返回的信息: " + 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.卸載前, 關(guān)閉鏈接
    onUnmounted(() => {
      ws.close();
    });
  },

更多方法

使用構(gòu)造函數(shù),新建ws實(shí)例

// 執(zhí)行完本語句,客戶端就會(huì)與服務(wù)器進(jìn)行連接。
var ws = new WebSocket("wss://echo.websocket.org");

連接成功后的回調(diào)函數(shù)

ws.onopen = function(evt) { 
  console.log("Connection open ..."); 
  ws.send("Hello WebSockets!");
};
// 若需要多個(gè)回調(diào)  實(shí)例.addEventListener
// ws.addEventListener('open', function (event) {
//  ws.send('Hello Server!');
// });

用于指定收到服務(wù)器數(shù)據(jù)后的回調(diào)函數(shù)。

服務(wù)器數(shù)據(jù)可能是文本,也可能是二進(jìn)制數(shù)據(jù)(blob對(duì)象或Arraybuffer對(duì)象)

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

指定連接關(guān)閉后的回調(diào)函數(shù)。用法同open

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

總結(jié)

到此這篇關(guān)于前端之vue3使用WebSocket的文章就介紹到這了,更多相關(guān)vue3使用WebSocket內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

祁东县| 西乌| 永州市| 略阳县| 玉门市| 漳州市| 内乡县| 读书| 临湘市| 曲周县| 宣恩县| 长治市| 上思县| 策勒县| 土默特右旗| 循化| 读书| 烟台市| 宣恩县| 屯门区| 丰台区| 茶陵县| 凭祥市| 水富县| 闽侯县| 肥东县| 布尔津县| 颍上县| 迁安市| 吉隆县| 和政县| 屏山县| 赤峰市| 顺平县| 宣威市| 惠来县| 突泉县| 彭山县| 保德县| 宜昌市| 革吉县|