Websockets es una tecnología novedosa y de vanguardia envuelta en HTML5. Básicamente, puede abrir un websocket para habilitar la comunicación bidireccional persistente con un servidor web. El cliente (interfaz de usuario) puede enviar mensajes de forma espontánea, y el servidor también puede enviar mensajes.
Tecnología existente (JavaScript) requiere que el cliente inicie todo: el servidor no puede enviar nada. al cliente que el cliente no ha solicitado. Por lo tanto, los scripts deben actualizarse constantemente y volver a solicitar datos que podrían no haber cambiado. Los websockets funcionan más " push " y permiten que los nuevos datos bajen por el canal siempre.
Desafortunadamente, la mayoría de las implementaciones de websocket (todas las que puedo encontrar) requieren una aplicación de servidor específica para funcionar. La gente ejecutará Apache en los puertos 80 y 443 (http y https) y ejecutará otro sistema (normalmente Node.js) en otro puerto (es decir, 8000 u 8080) para manejar las solicitudes de websocket.
Esto funciona, obviamente, pero tiene algunos inconvenientes.
Tengo un complemento que quiero compilar que enormemente se beneficiaría del uso de websockets dentro de WordPress. Pero si un usuario necesita instalar un segundo servidor web (generalmente imposible para las personas con alojamiento compartido), entonces no funcionará como un complemento.
Entonces, para cualquiera de ustedes que tenga experiencia, ¿cómo haría WordPress compatible con websockets? ¿Haría que WordPress se encargara de la comunicación en sí, o incorporara otro script de mini-servidor en el complemento? Si ya lo has hecho, ¿cómo lo lograste sin romper WordPress?
Posibles recursos?
21/09/11 Actualización
Hablando de cómo Apache (el servidor más comúnmente instalado para ejecutar WP en un host compartido) no puede manejar los websockets de forma nativa, me pregunto por una alternativa. Varios complementos (JetPack, por ejemplo) hablan con un servicio externo o API para generar contenido.
Stats solicita contenido de Automattic. Akismet envía datos desde y hacia un servidor externo. Después de la fecha límite envía el contenido en el momento de la publicación. Algunas herramientas de SEO pasan cosas de un lado a otro a través de sistemas externos.
Entonces, como alternativa al alojamiento del código websocket dentro de un complemento de WordPress, ¿sería factible alojar un servicio websocket en una ubicación central y tener un interfaz de WordPress que interactúe con eso?