背景
iOS 设备自带的蓝牙传输的功能 airdrop 不能和非苹果系设备间传输信息,airdrop 的应用场景单一,限制了 蓝牙模块在 苹果设备中的应用.
coreblutooth优势
1、打破苹果设备之间的界限
苹果原生支持的蓝牙传输方式为 airdrop,苹果对 airdrop 的通信目标机器的类型做了限制,仅支持目标设备为苹果设备;
iOS 和安卓 系统内支持的蓝牙协议(以4.0版本为例), 都遵循了蓝牙4.0协议标准,广播数据、服务类型、特征值等 都不携带硬件信息 也未限制硬件类型;
iOS 和安卓设备 间互相扫描蓝牙服务 发现,不同设备未对广播的来源做筛选,因此通过蓝牙协议编程, 可实现 iOS 设备间,iOS 和其他蓝牙设备之间的通信。
2、使用便利
设备和 提供广播服务的其他设备首次连接需要配对,以后的每次重连,以及通信过程可以做到用户无感知的(类似使用无线网络),不需要用户的操作来建立连接,触发通信过程。
缺陷(可能是作者知识不足的缺陷。)
1、传输速率
由于双方之间的通信以数据报文的形式,类似UDP传输。当单次传输的信息 size 超过这种方式的上限时(文末接口的链接 贴有相关 size 信息),需要 通信的双方协商一套(会话层)确认机制,来保证传输的完整新和安全性;
而这样的机制会大大限制了传输的效率,经过测试,以 喊--答 的形式传输较大文件时, 效率感人…….
2、缺少上层会话层协议
corebluetooth 暴露的通信方式,类似与 TCP 层级中的传输层特征(类似 UDP 协议),可能因为蓝牙的应用场景原因,上层通信协议存在的必要性不高。