微信小程序實時通訊(websocket)問題


這幾天值班忙的不要不要,人工智能這塊看的都是零零散散,今天就來寫寫小程序的實時通訊吧。
小程序端:
//這個是連接

lianjie:function(){
 var socketOpen = false
//注冊信息
var data = { appid: "77494ad321405fb340e2d1a664850954", sid: "123" }
var socketMsgQueue = JSON.stringify(data)
console.log(socketMsgQueue)
//建立連接
wx.connectSocket({
  url: "wss://websck.eloeg.wang:20001",
})
//
wx.onSocketOpen(function (res) {
  console.log('WebSocket連接已打開!')
  socketOpen = true
  console.log('數據發送中' + socketMsgQueue)
  sendSocketMessage(socketMsgQueue)
})
function sendSocketMessage(msg) {
  if (socketOpen) {
    wx.sendSocketMessage({
      data: msg
    })
  } else {
    socketMsgQueue.push(msg)
  }
}
wx.onSocketError(function (res) {
  console.log('WebSocket連接打開失敗,請檢查!')
})
wx.onSocketMessage(function (res) {
  console.log('收到服務器內容:' + JSON.stringify(res))
})

},
//模擬發送數據,因為在建立連接時給自己注冊的用戶sid為:123,發送數據也發送的是給sid為123的用戶即自己,數據為ok12

fasong:function(){
wx.request({
  url: 'https://wss.md.eloeg.wang/erweima/fasong.php',
  method: 'GET',
  header: { 'content-type': 'application/json' },
  data: {
    sid:'123',
    data:"ok12"
  },
  success: function (res) {
    console.log(res)
  }
})

}
效果如圖:
圖片描述
后端的php代碼:

<?php 
 $appid = '77494ad321405fb340e2d1a664850954'; //填寫socket端的appid  
 $appkey = '****************************'; //填寫socket端的sercret 
 $apiUrl = '*******************';//發送接口
 $sid=$_GET["sid"];
 $data = $_GET["data"]; //要發送的消息
 $signature = md5($appid.$sid.$data.$appkey);
 $url = $apiUrl.'?appid='.$appid.'&sid='.$sid.'&data='.$data.'&signature='.$signature;
 $html=file_get_contents($url);
 echo $html;
?>
朋友幫助弄了個workerman的接口,直接進行調用了。所以看起來很簡單,這個sid是要給用戶進行標記用,要給哪個用戶發消息,就在發送時將其sid傳送至后台。


免責聲明!

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



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