我想知道是否有适用于Windows(XP、Vista、7、x86和x64)的与堆栈无关的C/C++蓝牙API,我的目标是通过蓝牙创建连接并发送/接收一些时间关键的数据。经过我的研究,我得出了以下选项及其缺点:
- Windows Sockets for Bluetooth:只能与Microsoft蓝牙堆栈配合使用。 - 使用COM端口(CreateFile/ReadFile/...):比套接字选项慢,用户必须先连接到设备。 - 使用堆栈相关API:这将需要检测所使用的堆栈,并为每个堆栈创建读/写函数。非常耗时,而且我不知道是否可能支持所有堆栈。 - 编写KMDF驱动程序:我考虑编写一个功能驱动程序,直接与蓝牙HCI驱动程序交互,这应该是与堆栈无关的。这将非常耗时,因为我必须阅读整个蓝牙规范,或者是否有HCI命令的API?
我知道btframework.com还提供商业SDK,支持大多数(或全部)蓝牙堆栈,但我需要免费的选项。请告诉我是否有其他选项可供选择。如果没有其他选项,您会选择哪些选项以及原因?可以使用Windows Sockets并忽略其他蓝牙堆栈吗?谢谢您的帮助 :)
- Windows Sockets for Bluetooth:只能与Microsoft蓝牙堆栈配合使用。 - 使用COM端口(CreateFile/ReadFile/...):比套接字选项慢,用户必须先连接到设备。 - 使用堆栈相关API:这将需要检测所使用的堆栈,并为每个堆栈创建读/写函数。非常耗时,而且我不知道是否可能支持所有堆栈。 - 编写KMDF驱动程序:我考虑编写一个功能驱动程序,直接与蓝牙HCI驱动程序交互,这应该是与堆栈无关的。这将非常耗时,因为我必须阅读整个蓝牙规范,或者是否有HCI命令的API?
我知道btframework.com还提供商业SDK,支持大多数(或全部)蓝牙堆栈,但我需要免费的选项。请告诉我是否有其他选项可供选择。如果没有其他选项,您会选择哪些选项以及原因?可以使用Windows Sockets并忽略其他蓝牙堆栈吗?谢谢您的帮助 :)