国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序使用websocket通訊的demo,含前后端代碼,親測可用

2024-07-22 01:18:19
字體:
來源:轉載
供稿:網友

0、概述websocket

(1) 個人總結:后臺設置了websocket地址,服務器開啟后等待有人去連接它。 一個客戶端一打開就去連接websocket地址,同時傳遞某些識別參數。這樣一來后臺和客戶端連接成功了,然后后臺就可以發消息給客戶端了,(客戶端也可以再回話給后臺)。

(2) socket叫套接字,應用程序用socket向網絡發出請求或者應答網絡請求。

(3) 官方解釋的socket 建立連接四步驟:

服務器端開啟socket,然后accep方法處于監聽狀態,等待客戶端的連接。

 客戶端開啟,指定服務器名稱和端口號來請求連接服務器端的socket。
 服務器端收到客戶端連接請求,返回連接確認。在服務器端,accept() 方法返回服務器上一個新的 socket 引用,該 socket 連接到客戶端的 socket。
 客戶端收到連接確認,兩個人就連接好了,雙方開始通訊

(4)注意:

客戶端的輸出流連接到服務器端的輸入流,而客戶端的輸入流連接到服務器端的輸出流。
TCP 是一個雙向的通信協議,因此數據可以通過兩個數據流在同一時間發送.

1、app.js寫法

在app.js下添加三個函數openSocket(), closeSocket(),sendMessage(),在app初始化的onLunch函數里面調用openSocket(),這樣子用戶一進入小程序就會自動連接websocket

App({  globalData: {  socketStatus: 'closed',  }, onLaunch: function() {   var that = this;  if (that.globalData.socketStatus === 'closed') {    that.openSocket();  } } openSocket() {  //打開時的動作  wx.onSocketOpen(() => {   console.log('WebSocket 已連接')   this.globalData.socketStatus = 'connected';   this.sendMessage();  })  //斷開時的動作  wx.onSocketClose(() => {   console.log('WebSocket 已斷開')   this.globalData.socketStatus = 'closed'  })  //報錯時的動作  wx.onSocketError(error => {   console.error('socket error:', error)  })  // 監聽服務器推送的消息  wx.onSocketMessage(message => {   //把JSONStr轉為JSON   message = message.data.replace(" ", "");   if (typeof message != 'object') {   message = message.replace(//ufeff/g, ""); //重點   var jj = JSON.parse(message);   message = jj;   }   console.log("【websocket監聽到消息】內容如下:");   console.log(message);  })  // 打開信道  wx.connectSocket({   url: "ws://" + "localhost" + ":8888",  })  }, //關閉信道  closeSocket() {  if (this.globalData.socketStatus === 'connected') {   wx.closeSocket({   success: () => {    this.globalData.socketStatus = 'closed'   }   })  }  },  //發送消息函數  sendMessage() {  if (this.globalData.socketStatus === 'connected') {  //自定義的發給后臺識別的參數 ,我這里發送的是name   wx.sendSocketMessage({   data: "{/"name/":/"" + wx.getStorageSync('openid') + "/"}"    })  }  },})
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊金霍洛旗| 南漳县| 清流县| 长武县| 边坝县| 沙坪坝区| 资源县| 海城市| 潢川县| 武义县| 黑龙江省| 泾源县| 额济纳旗| 石屏县| 广丰县| 健康| 乳山市| 定陶县| 张掖市| 武城县| 县级市| 襄樊市| 额尔古纳市| 武宣县| 沾益县| 通榆县| 永兴县| 广丰县| 丘北县| 修水县| 闻喜县| 济宁市| 秭归县| 米脂县| 广河县| 思南县| 永昌县| 昭觉县| 桑日县| 随州市| 诸暨市|