nodejs 如何将 Buffer 数据转为 String
问题说明
使用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'));
在这里记录一下