问题说明
使用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'));
在这里记录一下