小程序通過 WebSocket 連接發送數據wx.sendSocketMessage
wx.sendSocketMessage(Object object)
通過 WebSocket 連接發送數據。需要先 wx.connectSocket,并在 wx.onSocketOpen 回調之后才能發送。推薦使用 SocketTask 的方式去管理 webSocket 鏈接,每一條鏈路的生命周期都更加可控。同時存在多個 webSocket 的鏈接的情況下使用 wx 前綴的方法可能會帶來一些和預期不一致的情況。
參數
Object object
屬性 類型 默認值 必填 說明
data string/ArrayBuffer 是 需要發送的內容
success function 否 接口調用成功的回調函數
fail function 否 接口調用失敗的回調函數
complete function 否 接口調用結束的回調函數(調用成功、失敗都會執行)
示例代碼
let socketOpen = false
let socketMsgQueue = []
wx.connectSocket({
url: 'test.php'
})
wx.onSocketOpen(function(res) {
socketOpen = true
for (let i = 0; i < socketMsgQueue.length; i++){
sendSocketMessage(socketMsgQueue[i])
}
socketMsgQueue = []
})
function sendSocketMessage(msg) {
if (socketOpen) {
wx.sendSocketMessage({
data:msg
})
} else {
socketMsgQueue.push(msg)
}
}