Chat in tempo reale in Ruby on Rails senza possedere un server [chiuso]

4

Vorrei implementare una chat in tempo reale per la mia app Rails ma non posso realmente ospitare il server che gestisce i socket. Ho provato Faye ma ha bisogno di un server. Ho anche sentito parlare di pusher ma è limitato a 20 utenti alla volta nella chat e non posso davvero essere sicuro che non saranno più.

Ho pensato a IRC ma penso di non poterlo davvero incorporare in un'app per rails, forse ha bisogno di socket ...

Come posso implementare una chat in tempo reale senza possedere un server?

    
posta Cydonia7 30.08.2011 - 09:18
fonte

5 risposte

4

Non puoi implementare la chat in tempo reale senza avere un server in grado di coordinarlo in tempo reale. Le tipiche configurazioni del server web host condiviso non sono adatte a questo genere di cose: di solito non hanno gli strumenti giusti installati e in genere non hanno la capacità di gestire il traffico in ogni caso. Pertanto, in genere è necessario proteggere almeno il proprio VPS, soprattutto se si preoccupano delle prestazioni e dell'affidabilità.

    
risposta data 29.09.2011 - 16:41
fonte
2

Se vuoi provare qualcosa di nuovo, puoi usare:

Per te, cramp potrebbe essere utile. Ho creato una demo di base per una chat peer-to-peer. Non è per la produzione, ma puoi trovare informazioni sufficienti:

Demo chat em-wesocket

È fatto con em-websocket e socket.io .

In questa demo, non sto utilizzando redis ma con redis puoi ottenere più scalabilità e persistenza.

Cramp o nodejs funzioneranno per te.

    
risposta data 30.08.2011 - 10:34
fonte
1

Puoi provare PubNub :

PubNub is considered a Web Push Engine able to push (or stream) any textual data in real-time data push to any types of clients across the Internet. PubNub solves all the complexity of pushing data in a scalable, secure, efficient, reliable and portable way. On the client side, APIs are provided so that it is very easy to build Bidirectional Data Push Apps (transforming your existing client or creating a new one from scratch). A powerful HTML5 library makes it possible to push data updates to Mobile Phones, Tablets and Web Pages in real-time data push through a zero-install client.

    
risposta data 29.09.2011 - 20:31
fonte
1

Perché non sei in grado di ospitarlo da solo? È il costo dell'hosting?

Potresti provare Socket.IO in esecuzione su Node.JS , ospitato su un account Heroku gratuito. L'HTML rimarrebbe nella tua app per le rotaie, ma il "web socket server" (tecnicamente un server a lungo polling nel caso di Heroku) sarebbe in esecuzione su un account Heroku gratuito.

Oltre a questo, non sono sicuro di cosa stai chiedendo. Per ospitare un sito Web, è necessario un host web. Per ospitare un server di chat, è necessario un server per ospitarlo.

    
risposta data 15.11.2011 - 02:07
fonte
-1

I socket Web sono di gran lunga il modo più efficiente per gestire le funzionalità di chat. Come framework, Rails non è molto bravo nel gestire eventi asincroni e quindi stabilire una connessione socket a un'applicazione Rails è quasi impossibile. Esistono molte soluzioni progettate per gestire questo tipo di problema. Come diceva Andrew, i framework come Node.js con Socket.IO sarebbero sufficienti, oppure, se si vuole rimanere con Ruby, Cramp , async_sinatra o Goliath framework sono tutte ottime soluzioni ma sarebbe super fantastico continuare.

Se si desidera utilizzare Rails per la logica dell'applicazione e avere anche i vantaggi di una sorta di gestione degli eventi asincrona con pubblicazione e sottoscrizione, sarà necessario utilizzare qualcosa come Private Pub Gem che è costruito su Faye e rende semplice la pubblicazione e l'iscrizione agli eventi in tempo reale in un'app Rails.

Ho provato a mettere insieme un'applicazione per chat di messaggi istantanei simile a Gmail in un'app per rails 4. Dai un'occhiata a questo tutorial . Spero che aiuti a far luce sullo stesso.

    
risposta data 31.07.2014 - 10:48
fonte

Leggi altre domande sui tag