問題說明
使用webSocket的時候出現了一個問題,前端小程序和nodejs后端建立websocket連接后,使用send方法發送到后端為buffer格式,以下為我前后端代碼
1、前端小程序代碼
?
//創建webSocket連接
const socket = uni.connectSocket({url: 'wss://XXXX.com:8889',success() {console.log("ws連接成功!");},fail() {console.log("ws連接失敗!");},});
//監聽webSocket連接成功的方法
socket.onOpen((res)=>{const data ={type:'sendCode',code:'啦啦啦'}//發送數據到后臺socket.send({data: JSON.stringify(data),success: function (res) {console.log(res, '發送成功了')},})
})
后端代碼
// 監聽 WebSocket 連接事件
wss.on('connection', (socket) => {// 監聽 WebSocket 接收消息事件socket.on('message', (message) => {console.log('message-------------------',message);}
}
這時候后臺的message為buffer格式 如圖
解決方法
使用toString轉換
console.log('message-------------------',message.toString('utf8'));
在這里記錄一下