wx.writeBLECharacteristicValue iOS 发送成功,但数据没有收完整呢?
发布于 4 年前 作者 fangyong 2171 次浏览 来自 官方Issues

手机:iPhone 11Pro

小程序开发工具版本:1.05.2111300

接收设备:单片机

现象:

wx.writeBLECharacteristicValue 发送一个比较大的数据,均返回OK

但接收设备只收到只是部分数据,某些情况却是完整的:

接收尺寸 发送尺寸

34799 362474

9900 75431

34555 34555【完整】

我感觉稍微小的文件发送没问题,超过一个阈值,小程序会只发送一个很小的百分比。

我猜这个值可能是65535。难道是蓝牙底层限制的?那应该发送前就可以判断吧?不用给我返回成功啊!

而且不符合wx.writeBLECharacteristicValue文档的描述,文档说,iOS发送太长数据,可能会无响应,但是我是有响应,告诉我成功了,实际却没发完整。浏览了很多历史问题,没有我这种情况,故提此新帖。

下面是日志,白底是小程序控制台(buff length比byteLength多5个字节是加了协议头),黑底是设备的BLE日志(含每个包的尺寸和偏移及总长度)

ble write done 后面的0是errCode,再后是errMsg

1 回复

你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

回到顶部