2011-06-05 29 views
5

Sé que la implementación Bonjour de iOS (NSNetworkService, NSNetworkServiceBrowser) funciona de la caja en redes locales.iOS Bonjour a través de Internet

La documentación dice que es posible configurar un servidor DNS Bonjour para permitir la conexión de usuarios en internet, así que mis preguntas son:

  1. ¿Cuál es la interfaz del servidor DNS Bonjour? ¿Hay alguna muestra de la que pueda comenzar?
  2. ¿El Servidor DNS es responsable de la conexión inicial de mano de los pares y el resto (datos de envío \ rec) será directamente entre los pares?
  3. ¿El servidor DNS proporciona un mecanismo NAT de perforación de agujeros?

¡Gracias!

Respuesta

4

Descubrimiento del servicio local Bonjour basado en "DNS de multidifusión". cada vez que un cliente quiere saber algo sobre la red o los servicios en la red, utiliza la dirección de multidifusión 224.0.0.251, lo que significa que solo los clientes dentro de ese grupo de multidifusión pueden usar bonjour juntos. el espacio de la dirección IP 244.0.0/24 se define como "Bloque de control de red local" por RFC5771 y no se reenviará fuera de su red local.

PERO realmente, Bonjour es sólo un método basado en DNS - se puede decir NSServiceBrowser para buscar en un dominio no local, que simplemente requiere que el servidor DNS para responder a las peticiones específicas (como se describe en Manually Adding DNS-SD Service Discovery Records to an Existing Name Server) Este permite el descubrimiento de servicios a través de Internet e incluso el registro del servicio si se activa la Actualización de DNS (Setting up a Bonjour Name Server), pero nada más: debe preocuparse por perforar usted mismo.

Así se consigue un BIND-servidor y empezar a tratar;)

+0

Gracias por la respuesta !, ¿no hay por encima del marco de Internet peer-to-peer para iOS? – sternr

+0

al menos no conozco ninguna ... si quiere codificarlo usted mismo, debe profundizar en los marcos. si los dispositivos que desea conectar están cerca uno del otro, puede usar [API] de bump (http://bu.mp/files/Documentation/intro.html#getting-started) para conectar dispositivos y transferir datos a través de cualquier red con "solo un bache". –

+0

El comentario sobre perforación es incorrecto. Bonjour solo registrará un servicio en una zona de área amplia si la máquina tiene una dirección pública o un puerto adelante se puede negociar a través de NAT-PMP o uPNP. – andrewtj

Cuestiones relacionadas