2009-12-01 22 views
15

Así que es un tiro largo, comenzaré con eso.Bonjour Discovery en Javascript? ¿Tal vez?

¿Es/podría ser posible descubrir bonjour anuncios de servicios HTTP en javascript solo?

¿Por qué sería útil? Imagine un servicio local que se ocupa de algunos datos (por ejemplo, su latitud/longitud actual), los datos están expuestos a través de un servicio web y anunciados por Bonjour Zeroconf. Un sitio web (remoto) podría querer saber su latitud/longitud actual y en lugar de tener que saber que está ejecutando MyGPSserverVersion2, el sitio podría usar javascript para buscar Bonjour local en _Compatible_location_services._tcp y luego continuar una vez que tenga una dirección IP.

Si esto es imposible (creo que es probablemente el caso, Javascript es bastante restringido) ¿cuáles son los obstáculos y alguien tiene alguna idea sobre cómo superarlos?

Respuesta

3

Esto parece ser posible usando el Sockets API de Chrome, pero solo he tomado una mirada superficial.

mdns-browser parece implementar esto utilizando dichas API.

+0

La API de sockets solo está expuesta a las aplicaciones de Chrome y no al código JS que se ejecuta en el navegador. –

7

La respuesta corta es no (al menos no en la plataforma Linux).

Es curioso que tengas que preguntar: he estado trabajando para que este tipo de funcionalidad esté al alcance de los navegadores web. Uno de mis éxito en este esfuerzo es un NPAPI mDNS plugin for Chrome. El complemento básicamente se conecta con Avahi ZeroConf (mDNS - Servidor DNS de multidifusión).

Actualmente estoy trabajando en otro puente para cerrar esta brecha: una base de datos "liviana" (a la CouchDb) que las aplicaciones de escritorio usarán para registrar sus puntos finales HTTP. Las extensiones leerían esos puntos finales de Javascript y podrían interactuar directamente con los servicios anunciados.

ACTUALIZACIÓN: Hay esperanza a través de W3C Service Discovery.

+0

¡Parece que podría ser realmente útil! ¿Podría convencerse de formalizar el servicio? Creo que podría impulsar una aplicación de rubí externa que proporcionaría el mismo servicio en Mac OS: sería un poco más para seguir funcionando, pero estaría disponible para todos los navegadores. –

1

Esta biblioteca reclamaciones de hacerlo en Javascript: http://quickconnect.sourceforge.net/browser/index.html

Tengo que admitir que yo estaría muy interesado si era posible descubrir los servicios de Bonjour en javascript :)

+0

Eché un vistazo a esto y todavía usa Objective-C para exponer las funciones de iOS Bonjour a Javascript. – parsley72

1

Sé esto un viejo hilo. Encontramos este proyecto github que le permite descubrir (y publicar) el uso de los servicios de mDNS - https://github.com/watson/bonjour

Un Bonjour/Zeroconf implementación del protocolo en JavaScript puro. Publique servicios en la red local o descubra servicios existentes utilizando el DNS de multidifusión.

Cuestiones relacionadas