2011-12-21 14 views
6

He estado pensando en una idea de webapp, algo así como Turntable.fm pero para LAN, de esa manera todas las computadoras en la MISMA red no están todas descargando una canción al mismo tiempo (matando el ancho de banda) sino más bien transmitiendo la música alrededor. La funcionalidad básica sería que la PC "maestra" (la que tiene altavoces) reproduzca una canción local o reciba las canciones por LAN y luego las reproduzca.HTML5 + JS suficiente para la comunicación LAN?

Mi pregunta es si hay una forma de que una página HTML5 (alojada en línea) use JS para detectar usuarios de LAN y comunicarse entre sí directamente sin necesidad de ningún servidor central. Caso de ejemplo para que quede claro:

Office LAN has 2 users, Bob and Bill 
Bob enters lanmusic.com 
Bill enters lanmusic.com 
Internet dies, LAN is fine. 
Bob can still detect via the page that local user Bill is on the page too 
Bill sends a song to Bob through the page directly 
Bob plays song with page's javascript music player 

puntos clave: Así

  • Javascript/HTML5 solo
  • no depende de Internet, salvo para la carga inicial de aplicación web
  • se puede detectar LAN usuarios, hacer conexiones LAN

Respuesta

2

Lea este blog y otro artículo publicado por W3C con el título Web Real-Time Communications

Esta funcionalidad todavía está en proceso por el W3C y el Candidato La versión para esta funcionalidad saldrá en el cuarto trimestre de 2012. Por lo tanto, no estará disponible pronto.

Por el momento, como una alternativa a mi sugerencia son

  1. utilizando las capacidades offline de HTML5 como una alternativa, que descritos en esta presentación por parte de Google Make it work offline.

  2. usando Adobe Cirrus Beta. Puede integrarse dentro de su HTML, y es compatible con la conversación P2P y la entrega de contenido P2P.

    • tradicional

    Cirrus1 http://labs.adobe.com/technologies/stratus/images/evolution1.jpg

    • Cirrus 1

    Cirrus1 http://labs.adobe.com/technologies/stratus/images/evolution2.jpg

    • Cirrus 2

    Cirrus2 http://labs.adobe.com/technologies/stratus/images/evolution3.jpg

+0

El enlace a "Hacer que funcione sin conexión" está desactivado. – satur9nine

1

En primer lugar, cada navegador dará un error si la conexión a Internet es los t. HTML5 puede cuidar si este problema.

Pero luego solo puede usar el sitio del cliente js, que no le permitirá hacer las cosas que desea hacer. ¿Por qué no hace una aplicación de escritorio normal? Algunos amigos están haciendo una aplicación basada en CLI para enviar música a un servidor central, ese servidor tiene los parlantes y reproducirá la música. Nuestra github: https://github.com/Infogroep/mpgc

Hay un montón de otras APS que hay que hacer lo mismo: Salida XBMC

FYI: lo que podría hacer, así es crear una red ad hoc eso no depende de un servidor central. Pero eso es algo que todavía esta en buen estado investigado (es decir http://soft.vub.ac.be/amop/)

W3C tiene un interesante artículo sobre la implementación de redes domésticas para HTML5 http://www.w3.org/2011/09/webtv/papers/W3C_HNTF_Position_Paper_Sept_2011.pdf

y echa un vistazo a una API HTML5 WebSocket http://dev.w3.org/html5/websockets/

+0

Parte de ello es que la experiencia de aprendizaje. Como diseñador web (HTML/CSS) que poco a poco va aprendiendo JS, pensé que sería un proyecto interesante de abordar. Además, estoy mucho más familiarizado con el uso de los lenguajes anteriores para diseñar una página que con la creación de interfaces de usuario en otros idiomas (aunque he estado buscando). Además, dado que la oficina tiene Mac/PC multiplataforma también es importante, y una aplicación web parecía ser la opción perfecta (y no se necesitan instalaciones adicionales). Parece que ese plan no funcionará. – Brian

+0

Si mal no recuerdo qt4 es compatible con webkit, lo que significa que debe poder usar sus habilidades html/css para crear aplicaciones de escritorio de aspecto impresionante. Y qt4 tiene soporte de plataforma cruzada para linux/mac/pc. –

+0

¡Eso es precisamente lo que descargué como mi plan de respaldo! xD CSS debería ayudar en la aplicación de estilo, QML es una alternativa tipo Javascript a la codificación en C++, y sí, es completamente multiplataforma. Parece que tendré que ramificarme con esa experiencia de aprendizaje, entonces ... – Brian

Cuestiones relacionadas