Я работаю над приложением чата поверх GAE и его Channel API. Я изучил документ и предоставленные примеры, а также просмотрел некоторые ответы здесь, но все же не чувствую, что у меня есть полная картина механики clientId/token.
1). Токен выдается на 2 часа, поэтому, когда он истечет, я должен запросить новый. Я также получу отключение в моем обработчике с параметром идентификатора клиента. Значит ли это, что в этот момент канал закрыт, и, запрашивая новый токен, я фактически создаю новый канал? Так что даже не имеет значения, какой идентификатор клиента я могу использовать в этот момент, старый или совершенно новый? Также GAE будет считать это созданием нового канала?
2). Если пользователь уходит с моей страницы до истечения срока действия токена (я получу присутствие отключения). А потом возвращается (все еще в этом двухчасовом окне), могу ли я снова подключить его к тому же каналу со старым токеном (допустим, они у меня есть в файлах cookie)? Если да, то GAE не считает это созданием нового канала?
3). Если ответ на приведенный выше вопрос утвердительный, то могу ли я собирать отсоединенные идентификаторы и токены клиентов на стороне сервера и распределять их для новых подключенных клиентов. В этом сценарии, если пользователь вернется на мою страницу, а его старый идентификатор/токен клиента уже используется кем-то другим, он просто получит еще одну пару из пула. Или это место, где вступает в силу правило «один канал на странице»?
Заранее спасибо и удачи, Алексей