如何解决如何在python-zeroconf中实现子类型并使用对类型的avahi浏览过滤进行验证?
在Ubuntu 18.04上使用avahi-browse
,我想检查服务发布是否正常。
我希望使用avahi-browse -ar
查看所有服务。
对于avahi-browse -r _zmq._tcp
,我希望只看到类型为_zmq._tcp
的服务,包括那些具有子类型的服务。
要对此进行测试,我做了avahi-publish-service --subtype=_foo._sub._zmq._tcp foo _zmq._tcp 9099
,上面的命令按预期显示。
然后我使用以下代码使用python 3.7和zeroconf 0.28.4发布子类型的服务:
from zeroconf import IPVersion,Zeroconf,ServiceInfo import socket if __name__ == "__main__": zeroconf = Zeroconf(ip_version=IPVersion.All) service_info = ServiceInfo(f"_bar._sub._zmq._tcp.local.",f"bar._zmq._tcp.local.",port=int(9090),server=f"{socket.gethostname()}.local." ) zeroconf.register_service(service_info,allow_name_change=True) try: input("Press enter to exit...\n\n") finally: zeroconf.unregister_all_services() zeroconf.close()
avahi-browse -ar
将显示服务。avahi-browse -r _zmq._tcp
将不。
使用子类型的人似乎并不多,文档也很短。 我在代码中做错了吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。