PC小程序WebSocket发送二进制数据被转为string
使用小程序建立websocket连接后,发送二进制数据,在移动端可以正常发送,但是在PC端的小程序会将二进制数据转为string传输(转为ascii对应的字符),除非二进制中有大于等于128的值。 var pingBuffer = new Uint8Array(1);
pingBuffer[0] = 0;
var socket = wx.connectSocket({ url: 'ws://xxx/' });
socket.onOpen(() => {
socket.send({ data: pingBuffer.buffer })
})
上述代码片段应该被后端正确识别为arrayBuffer,但是在PC小程序上发送的buffer被转为了string类型(值为0对应的ascii字符)。期望小程序不要自行强制转换类型,不然浪费资源不说,还容易引发异常。