python-zeroconf add_service вызывается только при инициализации ServiceBrowser - PullRequest
0 голосов
/ 21 октября 2019

У меня есть принтер этикеток Brother_ql, который я хочу обнаружить с помощью python-zeroconf.

Я использовал пример из README:

from zeroconf import ServiceBrowser, Zeroconf


class MyListener:

    def remove_service(self, zeroconf, type, name):
        print("Service %s removed" % (name,))

    def add_service(self, zeroconf, type, name):
        info = zeroconf.get_service_info(type, name)
        print("Service %s added, service info: %s" % (name, info))


zeroconf = Zeroconf()
listener = MyListener()
browser = ServiceBrowser(zeroconf, "_http._tcp.local.", listener)
try:
    input("Press enter to exit...\n\n")
finally:
    zeroconf.close()

Когда я запускаю программу и принтеронлайн add_service вызывается и печатает описание моего принтера. Но когда я запускаю программу и подключаю принтер позже, ничего не происходит.

Я вижу принтер в меню добавления принтера из macOS: 1

Я также не могу найти многодокументации ... Я неправильно использую ServiceBrowser? Я мог бы просто начать это снова и снова в цикле, но я думаю, что это не идея: -)

...