websocket雙向通信


使用websocket建立客戶端與服務器的雙向連接

實現效果:

實現代碼:

1.init方法:

init: function () {
  if(typeof(WebSocket) === "undefined"){
    alert("您的瀏覽器不支持socket")
  }else{
    // 實例化socket
    this.socket = new WebSocket(this.path)
    // 監聽socket連接
    this.socket.onopen = this.open
    // 監聽socket錯誤信息
    this.socket.onerror = this.error
    // 監聽socket消息
    this.socket.onmessage = this.getMessage
    //關閉socket連接
    this.socket.onclose = this.websocketclose
  }
},

path變量:

export var pathFile = "ws://192.168.1.145:8081/hawkeye/";

path: pathFile+"webSocket/",

2.建立連接:

open: function (e) {
  let data = this.network+"_"+this.partition+"_nodeId";
  this.send(data);
  console.log("socket連接成功")
},

3.給服務端發送消息:

send: function (Data) {
  this.socket.send(Data);
},

4.接收消息:

getMessage: function (msg) {
  var data = JSON.parse(msg.data);
}

5.斷開連接:

websocketclose(e){  //關閉
  console.log('斷開連接',e);
},

6.錯誤提醒方法:

error: function () {
  console.log("連接錯誤")
},

 

注意:

1.可以手動關閉websocket連接:this.socket.close();

2.若是需要在某種情況下要重新給服務端發送數據,可以直接let data = this.network+"_"+this.partition+"_nodeId";   this.send(data);因為一直處於連接中

3.若是在一進來頁面就要開始websocket連接,可以直接在open建立連接時就發送數據。

4.雙向通信時都是使用string字符串傳輸。


免責聲明!

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



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