Vue項目中使用websocket


<template>
  <div class="test">

  </div>
</template>

<script>
  export default {
    name : 'test',
    data() {
      return {
        websock: null,
      }
    },
    created() {
      this.initWebSocket();
    },
    destroyed() {
      this.websock.close() //離開路由之后斷開websocket連接
    },
    methods: {
      initWebSocket(){ //初始化weosocket
        const wsuri = "ws://127.0.0.1:8080";
        this.websock = new WebSocket(wsuri);
        this.websock.onmessage = this.websocketonmessage;
        this.websock.onopen = this.websocketonopen;
        this.websock.onerror = this.websocketonerror;
        this.websock.onclose = this.websocketclose;
      },
      websocketonopen(){ //連接建立之后執行send方法發送數據
        let actions = {"test":"12345"};
        this.websocketsend(JSON.stringify(actions));
      },
      websocketonerror(){//連接建立失敗重連
        this.initWebSocket();
      },
      websocketonmessage(e){ //數據接收
        const redata = JSON.parse(e.data);
      },
      websocketsend(Data){//數據發送
        this.websock.send(Data);
      },
      websocketclose(e){  //關閉
        console.log('斷開連接',e);
      },
    },
  }
</script>
<style lang='less'>
 
</style>

要是需要發心跳的話,只需要在onopen里寫一個定時器發送心跳即可

js封裝一個websocket

seven0706-js封裝一個websocket


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM