Alternativas de socket.io
einaros / ws

é o nível mais baixo e realmente o que

socket.io

usa embaixo. Tem um desempenho muito melhor do que

socket.io

Duas alternativas melhores para socket.io:

1

websockets / ws

2

uNetworking / uWebSockets

Você 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 / socketcluster

Existe 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

Socket.IO

no PubNub

Uma alternativa é um

reescrita completa

do

Socket.IO

em 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.IO

API 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.IO

com 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.IO

Tutoriais de vídeo

  • ./presence/ - Tutorial de presença.
  • ./bootstrap-mobile/ - Bootstrap para aplicativos móveis do iPhone / Android.
  • ./bootstrap-web/ - Bootstrap para aplicativos da Web para desktop / tablet.
  • ./unit-test/ - Teste de unidade para Socket.IO no PubNub.
  • ./simple-button/ - Aplicativo de botão simples para aprender PubNub.
  • ./multiplexing/ - Tutorial de multiplexação.
  • ./encryption/ - Tutorial de criptografia.
  • ./acknowledgements/ - Tutorial de agradecimentos.

Como usar

Socket.IO

SDK

Este uso simplificado de

Socket.IO

irá 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