国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

js中使用websocket

這篇具有很好參考價(jià)值的文章主要介紹了js中使用websocket。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?后端地址是http的? ?websocket地址 ws開頭;后端地址是https的,websocket地址wss開頭;

對(duì)于websocket沒有跨域的問題

import { MessageBox } from 'element-ui';
let url = "ws://192.168.0.181:8000";  //請(qǐng)求的后端地址

let websocket = null;//全局WebSocket對(duì)象
let lockReconnect = false; // 網(wǎng)絡(luò)斷開重連
let wsCreateHandler = null; // 創(chuàng)建連接
export function createWebSocket(fn){
  try{
    if ('WebSocket' in window) {
      websocket = new WebSocket(`${url}/webSocketServer?token=${getToken()}`);
    } else if ('MozWebSocket' in window) {
      websocket = new MozWebSocket(`${url}/webSocketServer?token=${getToken()}`);
    } else {
      websocket = new SockJS(`${url}/sockjs/webSocketServer?token=${getToken()}`);
    }
  }catch {
    reconnect();
    return;
  }

  websocket.onopen = function(event) {
   // websocket.send("連接成功");
    console.log("服務(wù)已連接")
  };

  websocket.onmessage = function(event){
    var data=JSON.parse(event.data);
    if(data.type === 'exit'){
      MessageBox.alert(data.name, '提示', {
        dangerouslyUseHTMLString: true,
        showConfirmButton: true,
        type: 'warning',
      }).then(()=>{
        store.dispatch('user/resetToken').then(() => {
          removeToken();
          // window.location.reload();
          router.replace("/login")
        });
      });

    }
    fn(data);


  };
  websocket.onclose = function(event) {
    console.log("服務(wù)連接關(guān)閉")
  };
  websocket.onerror = function(event) {

    console.log(event,"連接出錯(cuò)")
  };
}
/**
 *  異常處理
 * 處理可以檢測(cè)到的異常,并嘗試重新連接
 */
function reconnect() {
  if (lockReconnect) {
    return;
  }
  console.log("reconnect");
  lockReconnect = true;
  // 沒鏈接上會(huì)一直連接,設(shè)置延遲,避免過多請(qǐng)求
  wsCreateHandler && clearTimeout(wsCreateHandler);
  wsCreateHandler = setTimeout(function() {
    console.log("-----websoket異常-------");
    createWebSocket();
    lockReconnect = false;
  }, 1000);
}
export function websocketClose() {
  console.log('執(zhí)行了關(guān)閉')
  websocket.close();    //手動(dòng)關(guān)閉websocket
}

js中使用websocket

注意:系統(tǒng)退出后需要關(guān)閉websocket,尤其是平臺(tái)需要單賬號(hào)登陸的。文章來源地址http://www.zghlxwxcb.cn/news/detail-505296.html

到了這里,關(guān)于js中使用websocket的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue使用WebSocket實(shí)現(xiàn)實(shí)時(shí)獲取后端推送的數(shù)據(jù)。

    Vue可以使用WebSocket實(shí)現(xiàn)實(shí)時(shí)獲取后端推送的數(shù)據(jù)。 1.在Vue項(xiàng)目中安裝WebSocket庫 可以使用npm或yarn安裝WebSocket庫: 2.創(chuàng)建WebSocket連接 在Vue組件中創(chuàng)建WebSocket連接,連接到后端WebSocket服務(wù)器,代碼如下: 上面的代碼中,使用WebSocket連接到后端WebSocket服務(wù)器,通過監(jiān)聽onmessage事件,

    2024年02月08日
    瀏覽(26)
  • java后端使用websocket實(shí)現(xiàn)與客戶端之間接收及發(fā)送消息

    客戶端請(qǐng)求websocket接口,連接通道=》我這邊業(yè)務(wù)成功客戶端發(fā)消息=》客戶端自動(dòng)刷新。 接口:ws://localhost:8080/websocket/xx 經(jīng)測(cè)試,成功 如果是線上服務(wù)器連接,則需要在nginx里配置websocket相關(guān)內(nèi)容,再重啟nginx,代碼如下 本地連接的時(shí)候用的是ws://,因?yàn)槭莌ttp鏈接,但是如果是

    2024年02月16日
    瀏覽(26)
  • SpringBoot后端服務(wù)開啟Https協(xié)議提供訪問(使用阿里云資源)

    SpringBoot后端服務(wù)開啟Https協(xié)議提供訪問(使用阿里云資源)

    目錄 概述 ?申請(qǐng)/下載證書 部署證書 本地測(cè)試訪問 服務(wù)器部署訪問 ?最后/擴(kuò)展 總結(jié) 本篇博客說明如何將SpringBoot項(xiàng)目開啟Https協(xié)議提供訪問。 博文以步驟 【申請(qǐng)/下載證書】,【部署證書】,【本地測(cè)試訪問】,【服務(wù)器部署訪問】 ?, 【擴(kuò)展】 展開說明。 廢話 :當(dāng)我們

    2024年02月12日
    瀏覽(23)
  • 解決websocket在部署到服務(wù)器https下無法使用的問題

    解決websocket在部署到服務(wù)器https下無法使用的問題

    目錄 一、問題 1.1 問題描述 1.2 問題詳細(xì)描述 二、解決 2.1 https下的鏈接類型 2.2 修改Nginx的配置 一個(gè)小項(xiàng)目中使用到了websocket,這個(gè)websocket在本地完全是完全正常運(yùn)行的,不管是 前后臺(tái)的信息通訊? 還是 異常報(bào)錯(cuò)接收 , 無任何異常 ,但當(dāng)把后臺(tái)代碼部署到阿里云服務(wù)器后

    2024年02月09日
    瀏覽(22)
  • js中使用websocket

    js中使用websocket

    ?后端地址是http的? ?websocket地址 ws開頭;后端地址是https的,websocket地址wss開頭; 對(duì)于websocket沒有跨域的問題 注意:系統(tǒng)退出后需要關(guān)閉websocket,尤其是平臺(tái)需要單賬號(hào)登陸的。

    2024年02月11日
    瀏覽(14)
  • Thinkphp5.0 安裝使用Workerman實(shí)現(xiàn)websocket前后端通信,后端主動(dòng)推送消息到前端

    安裝使用Workerman實(shí)現(xiàn)websocket前后端通信,后端主動(dòng)推送消息到前端,實(shí)現(xiàn)后端有數(shù)據(jù)更新時(shí),前端頁面自動(dòng)更新數(shù)據(jù)。 我使用的是基于Thinkphp5.0的ThinkCMF5.0。 安裝: 啟動(dòng): public目錄下放置的server.php文件,注意里面的配置必須按照你的Worker控制器來: woker控制器: 后端主動(dòng)推

    2024年02月16日
    瀏覽(32)
  • 關(guān)于設(shè)置靜態(tài)IPV4靜態(tài)地址后ipconfig/all發(fā)現(xiàn)IPV4首先是169開頭的IP

    關(guān)于設(shè)置靜態(tài)IPV4靜態(tài)地址后ipconfig/all發(fā)現(xiàn)IPV4首先是169開頭的IP

    ?解決辦法一: 出現(xiàn)這種情況一般是IP地址沖突,換一個(gè)IP地址。 解決辦法二: 1、windows+R 輸入cmd進(jìn)入命令行。 2、輸入? netsh winsock reset 后回車 , 稍后,會(huì)有成功的提示:成功地重置Winsock目錄→重啟計(jì)算機(jī)完成重置。 3、之后輸入 netshintIPreset.log (按回車鍵執(zhí)行命令) 4、之

    2024年04月25日
    瀏覽(17)
  • js 正則表達(dá)式 限制input元素內(nèi)容必須以abc開頭,123結(jié)尾

    要通過正則表達(dá)式驗(yàn)證一個(gè)輸入元素的內(nèi)容是否以\\\"abc\\\"開頭且以\\\"123\\\"結(jié)尾,您可以使用 ^ 表示開頭, $ 表示結(jié)尾,以及適當(dāng)?shù)淖址惢蚓唧w字符。以下是一個(gè)示例正則表達(dá)式: 上面的正則表達(dá)式將匹配以\\\"abc\\\"開頭,以\\\"123\\\"結(jié)尾的任何字符串,其中 .* 表示匹配零個(gè)或多個(gè)任意字符

    2024年02月13日
    瀏覽(30)
  • WebSocket的使用方法(JS前端)

    先來一個(gè)常用例子 封裝的代碼 上面的代碼就夠用,也可以查看我封裝好的 WebSocket 代碼(包括心跳機(jī)制):點(diǎn)擊查看 下面詳細(xì)說明常用的屬性和方法 更全面的官網(wǎng)的文檔可以去這里看:點(diǎn)擊查看 下面是我總結(jié)的內(nèi)容 WebSocket WebSocket 對(duì)象提供了用于創(chuàng)建和管理 WebSocket 連接,

    2024年02月02日
    瀏覽(31)
  • 如何在Node.js中使用WebSocket實(shí)現(xiàn)實(shí)時(shí)通信

    在Web應(yīng)用程序中,實(shí)時(shí)通信已經(jīng)成為一種必不可少的功能。WebSocket是一種基于TCP的協(xié)議,它提供了雙向通信的能力,使得實(shí)時(shí)通信變得更加容易。Node.js提供了一個(gè)內(nèi)置的WebSocket模塊,使得開發(fā)實(shí)時(shí)通信應(yīng)用程序變得非常簡(jiǎn)單。在本文中,我將介紹如何在Node.js中使用WebSocket實(shí)

    2024年02月14日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包