堆栈独立的C / C + +蓝牙API?

我想知道是否有Windows(XP,Vista,7,x86和x64)任何堆栈独立的C / C + +蓝牙API。

我的目标是创build一个连接,并通过蓝牙发送/接收一些时间关键的数据。

我的研究给了我以下的select,这个任务的缺点:

  • 用于蓝牙的Windows套接字
    只适用于微软蓝牙堆栈
  • 使用COM端口(CreateFile / ReadFile / …)
    比套接字选项慢,用户必须先连接到设备。
  • 使用堆栈依赖的API
    这将需要检测使用的堆栈并为每个堆栈创build读/写function。 非常耗时,我不知道是否可以支持所有的堆栈
  • 写一个KMDF驱动程序
    我想写一个函数驱动程序直接与应该独立堆栈的蓝牙HCI驱动程序进行通信。 这将是非常耗时的,因为我将不得不阅读整个蓝牙规范,或者有一个HCI命令的API?

我知道也有一个商业sdk从btframework.com支持大多数(或所有)蓝牙堆栈,但我需要一个免费的选项。

请告诉我,这个任务是否还有其他的select。
如果没有,你能告诉我哪些select你更喜欢,为什么?
可以使用Windows套接字并忽略其他蓝牙堆栈吗?

谢谢你的帮助 :)

我想一个选择是使用C ++ / CLI与我的托管蓝牙库32feet.NET接口,它支持Windows上的大多数堆栈。 http://32feet.codeplex.com/

我已经成功地使用这个库被称为WCL,但它不是免费的。 有了这个,你可以通过SPP连接,而不需要创建一个虚拟的COM端口。

虽然他们的文档不是很好,他们提供了一些很好的演示代码,你可能想尝试。

它支持微软,东芝,Widcomm和Bluesoleil堆栈,并有一个本地的C ++实现(以及一个.NET的)。