class ServerPublisher: def __init__(self): self.zero_conf = Zeroconf() def publish(self, host, port): log.debug('publishing server at %s:%s' % (host, port)) hostname = gethostname() service_info = ServiceInfo("_checkers._tcp.local.", "%s._checkers._tcp.local." % hostname, inet_aton(host), port, 0, 0, {}, server=hostname + '.local') self.zero_conf.registerService(service_info) def shutdown(self): log.debug('shutting down server publisher') self.zero_conf.unregisterAllServices() self.zero_conf.close()