Получение идентификатора клиента канала для запросов RequestFactory - PullRequest
1 голос
/ 30 января 2012

Есть ли способ получить идентификатор канала на сервере или передать его внутри вызова RequestFactory?

Положение:

  • Пользователь запускает приложение, канал открывается.
  • Пользователь сохраняет сущность с RequestFactory (requests.persist().using(...).fire(...)).
  • Метод persist() на сервере пингует всех подключенных клиентов, чтобы сообщить им, что объект обновлен.

Но пользователь, который внес первоначальное изменение, не должен проверяться. Есть ли способ узнать, какой клиент внес изменения? Недостаточно знать пользователя, потому что один пользователь мог открыть несколько окон (каналов).

1 Ответ

0 голосов
/ 03 марта 2012

Честно говоря, я еще не использовал Channel API, но согласно документации каждый клиент рассматривается как отдельный пользователь.Таким образом, решение лежит за пределами GAE API, и я думаю, что у вас есть два варианта:

  1. Создать логический идентификатор пользователя на клиенте, который будет сопоставлен, возможно, нескольким каналам.Таким образом, вы будете знать, какие каналы пропустить.
  2. В любом случае пропишите все каналы, но отправьте числовую версию вновь сохраненного объекта.Затем клиент будет сравнивать полученную версию с тем, что у него есть, и если она выше, это означает, что ему нужно снова вызвать findModel(id).
...