python - 停止 Avahi 服务并返回元素列表

标签 python dbus avahi

已关注 this example当我获取所有元素并将它们返回到列表中时,我想停止服务。

停止无限循环就是调用gobject.MainLoop().quit(),但是不知道何时何地调用。 谢谢

最佳答案

当当前最后一个服务到达时,您将需要停止服务浏览。这将为您提供当前可用服务的快照。

C 层有一个标志,允许您检查是否有更多服务即将推出。它的名称为 AVAHI_BROWSER_ALL_FOR_NOW。我不熟悉 python 绑定(bind),但也许可以在回调的 stype 或 flags 参数中以某种方式检查此标志?

当您看到此标志已设置时 - 调用gobject.MainLoop().quit()

关于python - 停止 Avahi 服务并返回元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5126413/

相关文章:

python - PyQt 简单 HTTP 服务器 : GUI freezes on starting server

python - 在mac 10.8.3上安装lxml

c++ - 在 Qt C++ 中连接用户特定的 DBus session

dbus - 如何使用 Qtdbus 在系统总线上公开方法

c - Dbus mainloop.h 缺失错误

c++ - avahi:广播我的服务有更新信息

c++ - 无法构建 avahi4j : avahi4j_Client. c :18:32: fatal error: avahi-common/error. h: 没有这样的文件或目录

python - 通过 Seaborn 双绘图 X 轴

python - 我从哪里开始使用网络机器人?

linux - 无法通过 LAN 从 Windows ping avahi 别名,但可以从其他 Linux VM ping avahi 别名