目前在开发一个项目,在微信开发者工具上使用下面代码发送数据,服务端可以收到数据并成功解析,但是在扫描开发者工具的调试二维码在手机真机上就无法发送数据,并在fail接口中报错
代码:
wx.sendSocketMessage({
data: new Uint8Array([1,0,2,0,1]),
success:function(e){
console.log(e)
},
fail:function(e){
console.log(e)
},
complete:function(e){
console.log(e)
}
});
报错信息:
sendSocketMessage:fail invaild data type
官方文档:
烦劳思否大神前来协助,是代码写错了还是其他原因。
首先感谢被我邀请的人关注,另外这个问题通过网上的资料查询找到解决办法了,出现这个问题的原因在于对二进制数据操作的不了解,下面提供解决办法。
另外还一个问题就是真机小程序中不支持 new TextDecoder()对象,函数,解决办法:
以上两个问题都是微信开发者工具与真机环境不一致的锅。
参考文章:
Uint8Array 拷贝操作的坑(buffer)
ie,TextDecoder.decode()函数不可用,fromCharCode输出中文乱码问题