Sto scrivendo una semplice applicazione di chat room in Rails 3.1 - per scopi di apprendimento. Per i principianti ho tutti i modelli necessari (messaggi, utenti, stanze, ecc.) E le cose funzionano alla grande. I client eseguono il polling del server ogni minuto (ad esempio) e ottengono nuovi messaggi se ne hanno.Il polling lungo è possibile con un'applicazione Rails utilizzando EventMachine?
Vorrei cambiare il polling semplice a polling lungo e non riesco a capire se questo può essere fatto nella stessa app o devo creare un altro server Push per il polling lungo.
Ho letto molto su EventMachine e ho modificato l'app per i miei binari come se volessi utilizzare EventMachine per i meccanismi guidati dagli eventi. Pensavo che il canale EventMachine sarebbe stato utile per questo. Un client si connette e attende un messaggio nella chat room e riceverà un messaggio solo quando uno è stato inviato nella stanza.
Quello che non riesco a capire è come posso condividere l'istanza di EventMachine :: Channel tra tutte le mie connessioni client. Questo approccio è possibile o sto andando nel modo sbagliato?
Se possibile, vorrei una soluzione che può essere eseguita come applicazione di un singolo binario ospitata su Heroku.
Non sono un esperto di macchine per eventi, ma penso che sia possibile. E tu non condividi il canale tra i tuoi clienti, ma ne hai uno per cliente e devi creare qualcosa su EM per inviare messaggi tra i diversi utenti. – Augusto
Sì, dire che ho un canale per ogni cliente. Dove posso memorizzare tutte le istanze di canale in modo che siano accessibili da un controller richiamato quando qualcun altro invia un messaggio? – Oded