2011-02-10 10 views
5

Pracuję nad aplikacją czatu nad interfejsem API aplikacji Google AppEngine, a jednym z wyzwań jest koordynacja/synchronizacja czatu podczas działania w wielu oknach/kartach (w pojedyncza przeglądarka).Synchronizuj czat w wielu oknach/kartach przy użyciu interfejsu API AppEngine Channel

W szczególności, jeśli użytkownik ma otwartą rozmowę w jednym oknie/karcie, a następnie otwiera nowe okno/zakładkę, która łączy się z moją witryną, chciałbym, aby ta sama konwersacja pojawiła się w nowym oknie/karcie (jest to funkcjonalność czatu Facebooka i innych witryn). Uważam, że można to osiągnąć otwierając nowy kanał dla każdego okna otwartego przez użytkownika i pozwalając serwerowi upewnić się, że na każdym kanale znajdują się najbardziej aktualne dane dotyczące konwersacji, ale jestem zaniepokojony trafieniem limitu (jeśli jest jeden) na temat liczby kanałów dozwolonych przez Channel API - i niepokoi mnie również skuteczność tego podejścia.

Moje pytanie brzmi: 1) Czy z punktu widzenia efektywności/efektywności, ma sens otwarcie nowego kanału dla każdego okna/karty dla pojedynczego użytkownika? 2) Czy istnieje jakiś limit liczby kanałów, które mogę otworzyć dla pojedynczego użytkownika? 3) czy istnieje ogólny limit liczby kanałów, które mogę otworzyć? 4) czy jest jakiś inny, bardziej inteligentny sposób realizacji moich celów (być może przy użyciu plików cookie lub w jakiś sposób dzielenia danych z jednego kanału pomiędzy wieloma oknami/kartami)?

Dziękuję i poważaniem Alex

+1

Otrzymałem kilka odpowiedzi na to pytanie tutaj: http://groups.google.com/group/google-appengine-python/browse_thread/thread/f4c5fe18f9efa233?hl=en# –

Odpowiedz

0

Być może powinieneś użyć sessionStorage, ma on event listen do pisania, wszystkie zakładki z tym samym źródłem otrzymują wydarzenie!

Powiązane problemy