我需要打开Mac上的蓝牙插座。
LightBlue看起来很棒,但后来发现,在Mac版本中,所有与L2CAP相关的操作都没有实现,而且很明显,Mac不支持(已实现的) RFCOM。
当使用它并试图绑定一个套接字时,它使用一个0x2c0 IOReturn消息(即kIOReturnNoDevice )失败。
这是我的代码:
from lightblue import *
s = socket() # uses RFCOMM
s.bind(("", 0))→kIOReturnNoDevice
from lightblue import *
s = socket(L2CAP)
s.bind(("", 0))NotImplementedError:当前不支持的L2CAP服务器套接字
是否有允许在macOS上创建蓝牙套接字或LightBlue的活动叉的替代方案?
毕竟,macOS已经有了BSD的套接字。
发布于 2019-12-19 16:01:15
事实证明,macOS不允许打开带有蓝牙芯片的套接字。出于安全考虑,所有蓝牙通信都必须通过蓝牙驱动程序IOBluetoothFamily.kext,而苹果自己也为此使用了IOBluetooth框架。
https://stackoverflow.com/questions/56284965
复制相似问题