2009-10-19 18 views

Respuesta

18

Viejo hilo, pero hay una manera de encontrar los servicios locales Discovering all advertised Bonjour service types. Deberá manipular los resultados para obtener los tipos en el formato correcto. Esto funciona en Mac & iPhone aunque no se descubren servicios si no tengo una conexión Wifi en iPhone.

NSNetServiceBrowser* domainBrowser = [[NSNetServiceBrowser alloc] init]; 
    domainBrowser.delegate = self; 
    [domainBrowser searchForServicesOfType:@"_services._dns-sd._udp." 
           inDomain:@"local."]; 
4

Que yo sepa, no hay una función que busque todos los servicios disponibles. La razón probablemente se deba a que una aplicación que publica un servicio puede definir su propio tipo de servicio.

Si solo está buscando servicios de tipos comunes (HTTP, impresora, etc.) puede crear fácilmente un bucle para llamar al -[instanceOfNSNetServiceBrowser searchForServicesOfType:inDomain:] con todos los tipos que desee, en todos los dominios que descubrió anteriormente.

El developer docs guide section on setting up a NSNetService también puede ser de ayuda.

+0

Sí, parece que esa es la única manera – Farcaller

Cuestiones relacionadas