我需要通过蓝牙外部附件定期接收数据。
我实现了 EA 流的事件驱动模型。但是,蓝牙的初始传输总是延迟。例如,如果每个数据包的长度为 15 个字节,则流委托(delegate)直到大约 150 个字节才会触发。
投票有帮助吗?
编辑:
此外,我发现应用程序从后台切换回前台后很难恢复 session 。再次尝试打开 session 会失败。有什么想法吗?
最佳答案
当 NSStreamEventHasBytesAvailable
到达时读取每个字节。
您是否开发了自己的蓝牙配件?可能是 MCU 仅在每发送 150 个字节后才刷新。
您还提到了初始传输
。你知道一旦蓝牙设备与 iPhone 配对并连接后,它必须经过一些识别过程,握手一些 secret 证书。这可能需要几秒甚至 10 秒,具体取决于信号质量。这可能是延迟的原因。
关于iphone - External Accessory 读取问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6435014/