我正在尝试使用 socket.AF_BLUETOOTH,如下所述:https://docs.python.org/3.3/library/socket.html
我在 Mac OS X 10.10.2 上安装了 Python 3.3.5::Anaconda 2.1.0 (x86_64)
而且套接字模块似乎不包含任何 AF_BLUETOOTH 引用:
In [1]: import socket
In [2]: socket.AF
socket.AF_APPLETALK socket.AF_INET socket.AF_IPX socket.AF_SNA socket.AF_UNIX
socket.AF_DECnet socket.AF_INET6 socket.AF_ROUTE socket.AF_SYSTEM socket.AF_UNSPEC
有人能帮忙吗?
最佳答案
PF_BLUETOOTH 是由 Linux 的蓝牙模块(来自 BlueZ)实现的协议(protocol)族。在 Linux 上,您创建一个 L2CAP 套接字并使用套接字系统调用与设备通信(连接、绑定(bind)、读取、写入),地址具有地址族 AF_BLUETOOTH。但这是一种仅限 Linux 的套接字类型。
在 Mac 上,您需要使用 CoreBluetooth API (它使用 XPC 消息发送给 blued 守护进程)而不是与蓝牙 LE 设备通信。
我不知道 OS X 上的 CoreBluetooth 的 Python 包装器,但如果您想查看它的外观,请查看 node.js 库 bleno或 noble .实际上,这些库使用可能不太稳定的内部 XPC 消息而不是公共(public) API。
关于python - 在 Anaconda Python 中缺少 socket.AF_BLUETOOTH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29107537/