é o nível mais baixo e realmente o que
socket.iousa embaixo. Tem um desempenho muito melhor do que
socket.ioVocê pode tentar o SocketCluster - ele usa todos os núcleos da CPU, os workers mortos / travados reaparecem automaticamente (útil no caso de erros inesperados na lógica do lado do servidor) e está livre de vazamentos de memória:
TopCloud / socketclusterExiste o http://sockjs.org - ele está tentando fornecer uma API do tipo WebSockets além de outros transportes além do próprio WebSockets.
Minha experiência pessoal com o Pusher é ótima. Se você estiver procurando por uma alternativa de código aberto, pode verificar faye.jcoglan.com e socky.org.
Estou usando now.js, que é uma abstração em cima do socket.io. Ele permite que você chame funções do cliente para o servidor e vice-versa (mas você realmente não "chama" a função, é tudo feito através de websockets). Mas se há algo em particular que você está tentando evitar no socket.io, então obviamente o now.js não seria uma melhoria.
Um muito legal é
Crossbar.io Unified Application Router, que pode ser executado no navegador, em servidores, até (aparentemente) em um banco de dados Oracle, e permite a publicação e assinatura de eventos em qualquer um desses sistemas. Usos
WAMP.
Como o site do Crossbar é mais enfadonho do que algo muito enfadonho, há uma introdução melhor aqui:
Crossbar.io é o futuro dos aplicativos da Web em Python?. Embora mencione Python aqui, ele está disponível para todos os tipos de tempos de execução.
Tenho usado Faye para implementar mensagens de publicação / assinatura em um aplicativo no qual estou trabalhando. Funciona bem, é flexível e fácil de usar. Ele gerencia todas as mensagens na memória, de modo que qualquer canal em particular só pode ser atendido por um único processo node.js, mas até agora isso não tem sido uma limitação para mim. Eles estão atualmente adicionando integração com o Redis para contornar esta limitação que é o que Juggernaut (outro módulo pubsub) usa, que é construído em cima do socket.io.
Acabei de enviar um cliente compactado em Node.js minimalista (https://github.com/ypocat/ws-flash-client) para ser usado com (mas não limitado a) servidor "ws" (https: // github. com / einaros / ws).
Você tem que escrever coisas como pub / sub sozinho, mas é exatamente assim que eu gosto, pois assim tenho uma boa visão geral do meu aplicativo. Presumo que essas coisas (junto com chamadas de procedimento, etc.) virão na forma de micromódulos além disso.
Atualização: acabei de adicionar outra micro-extensão - ws-rpc * - um suporte para chamadas de função de estilo RPC, salas (canais) e reconexão automática do cliente.
Eu acredito que este (ws + ws-flash-client + ws-rpc) é atualmente a melhor maneira de usar WebSockets em Node.js.
Update2: adicionei um exemplo HTTPS completo para servidores Node baseados em Express. Você realmente deve usar transporte criptografado com WebSocket atualmente, caso contrário, você não cobrirá todos os seus clientes.
* https: //github.com/ypocat/ws-rpc
no PubNub
Uma alternativa é um
reescrita completa
do
Socket.IOem execução na Rede PubNub em tempo real. -
Comece a GitHub para Socket.IO SDK Rewrite- GitHub inclui todas as receitas de código de exemplo e JavaScript.
Obtenha um mais rápido
o WebSocket para vários navegadores para aplicativos em tempo real.com PubNub! Aproveite o
Socket.IOAPI aproveitando Human Perceptive Real-time na infraestrutura PubNub. Nós acreditamos
Socket.IOé o jQuery of Networking.
Socket.IOé um projeto que possibilita WebSockets e Real-time em todos os navegadores. Ele também aprimora WebSockets ao fornecer multiplexação integrada, escalabilidade automática, codificação / decodificação automática de JSON e ainda mais com PubNub.
Melhorada
Socket.IOcom PubNub
Nós aprimoramos
o WebSocket para vários navegadores para aplicativos em tempo real.com PubNub. JavaScript mais rápido, pegada menor, rede em nuvem mais rápida e
o WebSocket para vários navegadores para aplicativos em tempo real.com PubNub não requer um back-end Node.JS. Isso significa que seu código é enxuto e simples, dando a você mais tempo para construir seu aplicativo. A carga útil JS atualizada foi otimizada para aplicativos móveis; o que significa excelente desempenho para laptops também.
Fiz alguns tutoriais em vídeo, este sou eu nos vídeos:
Socket.IOTutoriais de vídeo
Como usar
Socket.IOSDK
Este uso simplificado de
Socket.IOirá criar uma conexão, ouvir um evento de notícias e registrar os dados no console.
GitHub Master Link
https://github.com/pubnub/javascript/tree/master/socket.io