def announce(self, infohash, peerid): discovery_logger.info("announcing: %s", infohash) # old #service_name = "_BitTorrent-%s._tcp.local." % infohash #service_type = service_name service_name = "%s._%s" % (peerid, infohash) service_type = "_bittorrent._tcp.local." browser = Zeroconf.ServiceBrowser(self.server, service_type, self) service = Zeroconf.ServiceInfo( service_type, "%s.%s" % (service_name, service_type), address=None, # to be filled in later port=self.port, weight=0, priority=0, properties={}) service.browser = browser service.registered = False self.services.append(service) df = get_deferred_host_ip() df.addCallback(self._announce2, service) return service
def _init_autodiscovery(self): """ Inicializa el descubrimiento automático de los servidores. """ self._servers = {} self._servers_mutex = threading.Lock() self.addService = self._server_added self.removeService = self._server_removed self._zeroconf = Zeroconf.Zeroconf(self._address) self._zeroconf_browser = Zeroconf.ServiceBrowser( self._zeroconf, ZEROCONF_SERVICE_TYPE, self)
def getzcpaths(): ip = getip() if ip.startswith('127.'): return server = Zeroconf.Zeroconf(ip) l = listener() Zeroconf.ServiceBrowser(server, "_hg._tcp.local.", l) time.sleep(1) server.close() for value in l.found.values(): name = value.name[:value.name.index('.')] url = "http://%s:%s%s" % (socket.inet_ntoa(value.address), value.port, value.properties.get("path", "/")) yield "zc-" + name, url