如何使用 dbus/bluez 在 python 中获取当前 MTU
Posted
技术标签:
【中文标题】如何使用 dbus/bluez 在 python 中获取当前 MTU【英文标题】:how to get the current MTU in python using dbus/bluez 【发布时间】:2018-05-19 23:17:25 【问题描述】:有没有办法使用 dbus bluez 在 python 中获得当前客户端连接的 MTU?
如果我看btmon
我可以看到连接后的值(503):
# btmon | grep MTU
ATT: Exchange MTU Request (0x02) len 2
Client RX MTU: 517
ATT: Exchange MTU Response (0x03) len 2
Server RX MTU: 517
ATT: Exchange MTU Request (0x02) len 2
Client RX MTU: 503
ATT: Exchange MTU Response (0x03) len 2
Server RX MTU: 517
但是在 dbus.bluez api 中似乎没有这个值的句柄
有什么想法吗?
【问题讨论】:
我没有见过这样的东西,但你可以尝试使用实验性的 WriteValue 方法,它返回原始文件描述符和 MTU。见git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/… 看起来是一个非常有用的文档!谢谢 【参考方案1】:Bluez 不会在 dbus api 上公开 MTU 大小。但是,此信息在选项参数中的读取、写入等回调中给出。
Methods arraybyte ReadValue(dict options)
Issues a request to read the value of the
characteristic and returns the value if the
operation was successful.
Possible options: "offset": uint16 offset
"mtu": Exchanged MTU (Server only)
"device": Object Device (Server only)
【讨论】:
以上是关于如何使用 dbus/bluez 在 python 中获取当前 MTU的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spark 中使用 Python 查找 DataFrame 中的分区数以及如何在 Spark 中使用 Python 在 DataFrame 中创建分区