La mejor respuesta
Acabo de enviar un cliente empaquetado con Node.js minimalista (https://github.com/ypocat/ws-flash-client) para usarse con (pero no limitado a) el servidor «ws» (https://github.com/einaros/ws).
Tienes que escribir cosas como pub / sub tú mismo , pero así es exactamente como me gusta, ya que entonces tengo una buena descripción general de mi aplicación. Supongo que estas cosas (junto con las llamadas a procedimientos, etc.) vendrán en forma de micro-módulos además de esto.
Actualización: acabo de agregar otra microextensión, ws-rpc *, un soporte para llamadas a funciones de estilo RPC, salas (canales) y reconexión automática del cliente.
Creo esto (ws + ws-flash-client + ws-rpc) es actualmente la mejor manera de usar WebSockets en Node.js.
Update2: He agregado un ejemplo completo de HTTPS para servidores Node basados en Express. Realmente debería usar transporte encriptado con WebSocket en estos días, de lo contrario no cubrirá a todos sus clientes.
* https://github.com/ypocat/ws-rpc
Respuesta
He estado usando Faye para implementar mensajes de publicación / suscripción en una aplicación en la que estoy trabajando. Funciona bien, es flexible y fácil de usar. Administra todos los mensajes en la memoria, por lo que cualquier canal en particular solo puede ser atendido por un solo proceso node.js, pero hasta ahora esto no ha sido una limitación para mí.Actualmente están agregando la integración de Redis para sortear esta limitación, que es lo que usa Juggernaut (otro módulo pubsub) que está construido sobre socket.io .