2011-02-10 6 views
5

Sto sviluppando un'applicazione di chat sulla parte superiore dell'API Google AppEngine Channel e una sfida è in coordinazione/sincronizzazione della chat quando si esegue in più finestre/schede (in un singolo browser).Sincronizza chat su più finestre/schede utilizzando l'API del canale AppEngine

In particolare, se un utente ha una conversazione aperta in una finestra/scheda, e quindi apre una nuova finestra/scheda che si collega al mio sito Web, vorrei che la stessa conversazione appaia nella nuova finestra/scheda (questa è la funzionalità che hanno le chat di Facebook e altri siti web). Credo che questo potrebbe essere realizzato con l'apertura di un nuovo canale per ogni finestra che l'utente ha aperto, e lasciare che il server in modo che ogni canale ha la maggior parte dei dati di conversazione up-to-date, ma sono preoccupato per colpire un limite (se ce n'è uno) sul numero di canali consentiti dall'API del canale - e sono anche preoccupato dell'efficienza di questo approccio.

Quindi, la mia domanda è: 1) Dal punto di vista dell'efficienza/efficacia, ha senso aprire un nuovo canale per ogni finestra/scheda per un singolo utente? 2) Esiste un qualche tipo di limite sul numero di canali che posso aprire a un singolo utente? 3) c'è un limite generale al numero di canali che posso aprire? 4) c'è qualche altro modo più intelligente di realizzare i miei obiettivi (magari utilizzando i biscotti o dai dati in qualche modo spaccare da un unico canale tra più finestre/schede)?

Grazie e cordiali saluti Alex

+1

Ho ricevuto alcune risposte a questa domanda qui: http://groups.google.com/group/google-appengine-python/browse_thread/thread/f4c5fe18f9efa233?hl=it# –

risposta

0

forse si dovrebbe usare sessionStorage, si è evento ascoltare per la scrittura, tutte le schede con la stessa origine ottiene l'evento!