AppEngine Channel API - лучший способ проверить, открыт ли канал (на стороне сервера)

Я создал приложение для социальных сетей / знакомств на AppEngine, и в настоящее время я добавляю чат, построенный поверх Channel API. Однако проблема, с которой я сталкиваюсь, заключается в том, что пользователи могут перезагружать или переходить на новые страницы во время чата (как они могут в Facebook). Это означает, что серверу нелегко узнать, должен ли он генерировать новый токен идентификатора канала для данного клиента или данному клиенту уже был назначен токен канала.

Было бы чрезвычайно полезно, если бы существовал способ проверки (на стороне сервера), если у конкретного клиента уже открыт канал. Например, если я назначаю клиенту «Джек» идентификатор канала «Джек-Янв-21-2010», то я хотел бы иметь возможность проверять на стороне сервера, открыт ли уже канал, связанный с этим идентификатором » Джек-Янв-21-2010 ». Это можно (как бы) отследить на стороне клиента, наблюдая за обратным вызовом onerror () и onclose (), но я не вижу ничего на стороне сервера, что позволяет мне просто проверить, является ли канал, связанный с данным идентификатором, уже открыт.

Кто-нибудь знает умный способ проверить (на стороне сервера), был ли уже открыт канал, при использовании API канала AppEngine?

7
задан tshepang 4 May 2014 в 07:40
поделиться