2013-08-09 5 views
12

Se volevo tradurre la mia applicazione nodo che utilizza socket.io in un'applicazione Ruby on Rails quali sono le opzioni per la sostituzione di socket.io? (Essenzialmente alla ricerca di un server socket per Ruby)Qual è l'equivalente di Ruby del socket.io di Node.js?

http://socket.io/

Piano di tradurre l'applicazione di seguito: http://www.tokbox.com/blog/creating-chat-roulette-with-node-js-socket-io-and-opentok/

+1

Si può effettivamente avere Node.JS sul server Rails, e usare Socket.io (Node.JS è bravo a gestire i websocket) – MrYoshiji

+0

@MrYoshiji Sospettavo che ci fosse un modo per farlo, ti dispiace elaborare? Ho pensato che uno potesse passare dati tra server in qualche modo ... XML? JSON? ma non sono sicuro di come – Pinky

risposta

7

vi consiglio il Faye Ruby implementation come componente in tempo reale sul lato server solido. Non è una porta diretta di socket.io ma fornisce l'infrastruttura in tempo reale e alcuni concetti di messaggistica ben definiti che ti aiuteranno a portare la maggior parte delle applicazioni in tempo reale.

È possibile trovare più opzioni tramite realtime web tech guide.

+0

grazie per il riferimento, hai familiarità con Cramp? http://cramp.in/ – Pinky

+0

Purtroppo non ho familiarità con Cramp. – leggetter

1

Hai guardato il Plezi framework?

È possibile utilizzarlo come framework separato o su augment Rails/Sinatra by adding websocket functionality.

Viene eseguito utilizzando il server Iodine e supporta websocket nativi, route RESTful e streaming HTTP, quindi è facile avere una posizione di fallback come long-pulling, proprio come fa socket.io quando i socket Web non funzionano.

È interessante e facile da sviluppare con il supporto nativo per Redis, quindi consente le trasmissioni Websocket tra processi e macchine ... sebbene sia ancora in fase di sviluppo, è pieno di potenziale.

Una trasmissione/eco WebSocket applicazione può assomigliare a questo:

require 'plezi' 

class Echo 

    def index 
    "this is an echo server - use websockets to connect. test with: https://www.websocket.org/echo.html" 
    end 

    def on_message data 
    _echo data 
    broadcast :_echo, data 
    end 

    def _echo data 
    response << data 
    end 
end 

Plezi.route '/', Echo 

si può effettivamente mettere il codice nella console IRB e il server inizierà nel momento in cui esce IRB utilizzando il comando exit.

1

Consiglio vivamente Pubnub, ha molti involucri incluso rubino.

La documentazione è davvero facile da seguire e hanno molti tutorial.

Ho usato Pubnub su molti progetti di rotaie, inclusi progetti di torta di lamponi.

Rails 5 ora ha ActionCable integrato, il che significa che i websocket sono ora standard con Rails!

+2

PubNub ora è * molto * costoso per il lavoro sul web. Se ottieni meno di 100 univoci al giorno, sei a posto nel piano gratuito, ma supera quello e raggiungi il loro piano più basso a ** $ 149/mese **. Supera quel piano e vai a ** $ 399/mese **. Questo è diverso da un anno fa quando avevano in programma solo $ 15/mese. – deefour