2010-12-19 21 views
15

He estado muy entusiasmado con la perspectiva de WebSockets. Como he construido algunos juegos basados ​​en sockets de escritorio y juegos web en el pasado, estaba ansioso por combinar los dos enfoques para crear juegos basados ​​en web multijugador sin un hack largo de sondeo.Alternativa a WebSockets

Dado que las noticias de que Firefox y Opera han desactivado websockets debido a problemas de seguridad (see here), ¿es ese el final de WebSockets para el futuro cercano?

Si WebSockets están efectivamente muertos (o pospuestos en el futuro previsible), ¿hay alguna alternativa que no sea Long Polling?

Respuesta

27

WebSockets están vivos y coleando. Solo Firefox 4 beta ha desactivado el soporte nativo de WebSockets, Chrome y Safari no. Opera anunció que no enviarán un lanzamiento hasta que se hayan solucionado los problemas, pero nunca se haya enviado una versión alfa/beta con la activación de todos modos.

Además, muchos (quizás la mayoría) de los proyectos que usan WebSockets usan el web-socket-js (Flash) repliegue. Para esos proyectos, cuando se ejecuta en navegadores sin WebSockets o con él deshabilitado, se usará web-socket-js. Será menos eficiente que la latencia nativa, pero aún mucho más baja que la larga.

Pero también es importante recordar que WebSockets es mucho más joven que la mayoría de las otras partes de HTML5 (parte de la razón por la que se dividió hace varios meses) y todavía está en etapa de borrador.

Además, el grupo de trabajo hybi (responsable de la elaboración del protocolo de WebSockets) acaba de publicar un updated draft standard 04 que se ocupa de los problemas de seguridad del proveedor del navegador (nota en particular que las preocupaciones no son debido a una vulnerabilidad en WebSockets pero que WebSockets pueden ser usado para explotar vulnerabilidades en intermediarios HTTP).

El discussion about WebSockets sigue siendo muy activo en HyBi. Espero que haya otro borrador con más mejoras antes de que llegue a la próxima ronda de lanzamientos de los navegadores. Todos los vendedores de navegadores desean resolver el problema que WebSockets aborda (comunicación de red de baja latencia y baja sobrecarga desde el navegador) para que el movimiento hacia WebSockets ocurra rápidamente.

El bache actual es solo un bache. Pero independientemente de cuánto tarden los implementos nativos en finalizar, aún puede usar WebSockets en cada navegador usando web-socket-js.

actualización:

El nuevo protocolo hybi que aborda el problema de seguridad (entre otras cosas) es completa y se espera que sea publicado oficialmente este mes (noviembre de 2011). HyBi-17 es la última versión de la especificación.

Con la vista previa del desarrollador IE10 que incluye WebSockets, Opera y el navegador de Android, los únicos navegadores que no envían una implementación de WebSockets que está activada por defecto (la implementación de Opera se puede habilitar manualmente). Espero que eso cambie pronto y mientras tanto, web-socket-js se ha actualizado a la serie de protocolos HyBi y sigue siendo un buen polyfill/shim para navegadores sin soporte predeterminado.