¿Cómo funciona el, en tiempo real los trabajos de mecanografía en vivo en Google Wave?

StackOverflow https://stackoverflow.com/questions/932415

  •  06-09-2019
  •  | 
  •  

Pregunta

Estoy seguro de onda no sondea el servidor cada milisegundo para averiguar si el otro usuario ha escrito algo ... ¿cómo puedo ver lo que la otra persona está escribiendo mientras escriben? Y sin acaparar el ancho de banda.

¿Fue útil?

Solución

Permanente HTTP, Comet

Mantenga su conexión HTTP vivo y enviar caracteres medida que se escriben

* Editar en 2014: También, echar un vistazo a WebSocket cabecera HTTP y / 1.1 actualización . Navegadores comenzaron a aplicar esto alrededor de 2010, así que estoy añadiendo a esta respuesta original.

Otros consejos

Probablemente utilizar Web sockets, también conocido como eventos enviados por el servidor: http://www.w3.org / TR / websockets El protocolo subyacente se pueden encontrar (como un borrador) en la IETF.

Actualización: no parece WebSockets tiene ninguna aplicación todavía; y un vídeo de Google I / O (vaya a 11:00) habla de una petición HTTP GET larga vida.

servidor de inserción en GWT

Server push es la espera, responder, cerrar, volver a abrir paradigma:

  • Espera: Cuando el código GWT hace una llamada a su servidor para algunos datos que se no tienen, sin embargo, la congelación (espera)

  • responden: Una vez que los datos solicitados es
    disponibles, responder con ella

  • Cerrar:. A continuación, cierre la conexión

  • Re-abierto: Una vez que el código de GWT recibe la respuesta, abrir de inmediato una nueva conexión para consultar el siguiente evento

  • .

Google Wave: Desarrollado por GWT en torno al minuto 55 (cerca del final)

Q: ¿Cómo implementar las conexiones persistentes, las conexiones http larga vida

A: Plan de Futuro: HTML5 Web Sockets. A más largo plazo. Eso es lo que usamos en la actualidad.

Q: ¿Hay una plataforma o biblioteca para esto podemos descargar y jugar con

A: No estoy seguro. No lo creo

P.S .: Eso es lo que dijo. Para mí no tiene mucho sentido ( "planes futuros" vs "usando en este momento"). Cualquier hablante nativo de Inglés podría querer verificar si transcribía correctamente?

Pura especulación, pero podría estar utilizando el noreferrer DOM lado del servidor eventos de la especificación HTML 5?

toda la razón de WebSockets es tener el navegador a mantener una toma de corriente bidireccional abierta a un servidor para que las comunicaciones en tiempo real pueden ser utilizados. Cuando alguien en el otro extremo, en un cliente de onda, se dispara un evento que se envía al servidor y el servidor a su vez se ve a ver quién también deben recibir el evento y pasar el evento, en este caso la letra escrita.

WebSocket y Comet son diferentes.

Granville

Es probable que cometa por ahora WebSocket en el futuro. Debido a que funciona en Firefox 3.5 y por lo que he leído la WebSocket sólo está disponible en el nightly builds de FF ... Podría estar equivocado, aunque ... ya que parece no funcionar en IE en absoluto.

pasé algún tiempo la ingeniería inversa del código de cliente de Google Wave (enchufe descarado para http: // antimatter15. com / misc / lectura / que es un cliente de sólo lectura pública de google de onda para todas las ondas públicas sin necesidad de robots o aparatos que era mucho más útil hace un mes cuando google no lanzó las mejoras).

En cualquier caso, Google utiliza el marco de GWT con ciertos aspectos de la biblioteca de Google de cierre (que en realidad es de código abierto y documentado) y que utilizan la biblioteca goog.net.BrowserChannel, que a partir de los comentarios también se utiliza para la funcionalidad de chat de Gmail .

http://closure-library.googlecode.com/svn /docs/closure_goog_net_browserchannel.js.html

Yo asumiría que utilizan peticiones Ajax. Hacer un XMLHttpRequest, que es asíncrona, y cuando el servidor tiene algo que enviar su navegador la devolución de llamada javascript que se registró obtiene los datos y hace lo que sea con él. Así que, básicamente, el navegador solicita el próximo evento, lo maneja, se repite indefinidamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top