我需要通过BlueTooth外部附件定期接收数据。
我实现了EA流的事件驱动模型。但是,蓝牙的初始传输总是延迟。例如,如果每个数据包长度为15个字节,则流委托直到大约150个字节才会触发。
民意调查有帮助吗?
修改
此外,我发现应用程序从后台切换回前台后很难恢复会话。试图再次打开会话将失败。有什么想法吗?
答案 0 :(得分:1)
在NSStreamEventHasBytesAvailable
到达时读取每个字节。
您是否开发了自己的蓝牙配件?可能是MCU在每150个字节发送后才刷新。
你也提到了initial transmission
。你知道吗一旦蓝牙设备配对并连接到iPhone,它就必须经过一些识别过程,握手一些秘密证书。这可能需要几秒甚至10秒,具体取决于信号质量。这可能是延迟的原因。