问题描述
在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 (将#修改为@)