我有一个应用程序,它将作为BLE中心(扫描外围设备),在iOS 8及更高版本上运行。此外,我还有一个自定义附件作为外围设备(宣传具有自定义特征的自定义服务)。
我打算以突发方式发送大约20KB的数据,在中央和外围设备之间来回传输大约10次。
天真的方法似乎在外围设备上有两个特征:
当外围设备想要向中心发送数据时,它会发送第一个特征的通知,然后中心将请求第一个特征的值。
当中心想要将数据发送到外设时,它只会写入第二个特性。
看起来,特征指示是没有用的,我也可以在不等待回复的情况下编写(外围设备会让我知道错误并要求重新发送数据)。
但我不确定我是不是错过了什么。
有没有更好的方法可以尽快通过BLE流式传输~20KB数据?
有没有任何表演停止者为什么这种方法在作为核心的CoreBluetooth中完全不起作用?
不处理MTU和特征大小 - 我为那些人创建了另一个SO问题;为了这个问题,只要假设它们尽可能大。