你想反馈一个 Bug 还是 提一个需求?
Bug
如果是 Bug:
* Bug 表现是什么?预期表现是什么?
在pc机开发工具上用websocket连接可以通信。但是在真手机上connectSocket,onSocketOpen都可以。但是sendSocketMessage时就会出unknown data的错误。
* 如何复现?
* 提供一个最简复现 Demo
框架类型 | API/组件名称 | 终端类型 | 操作系统 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | wx.sendSocketMessage | 客户端 | Android | 6.6.5 | 1.9.93 |
5 个回答
这个问题通过网上的资料查询找到解决办法了,出现这个问题的原因在于对二进制数据操作的不了解,下面提供解决办法。
// 小程序中sendSocketMessage是支持ArrayBuffer的,我这个错误原因在于new Uint8Array不是ArrayBuffer,而是他的一个属性值才是arrayBuffer,在发送数据时要调用下.buffer var init8arr = new Uint8Array([1,0,2,0,1]); wx.sendSocketMessage({ data: init8arr.buffer, success:function(e){ console.log(e) }, fail:function(e){ console.log(e) }, complete:function(e){ console.log(e) } });
是微信开发者工具与真机环境不一致的锅
由于定位了很久才定位到,现在我把微信开发社区的这个问题都回调一次,希望能帮助到和我一样的童鞋
注意发送的data的值的类型真机好像只支持string/ArrayBuffer
请问有解决吗?我也遇到了
有解决的吗?
有解决?我也遇到了