2012-04-13 3 views
0

В последнее время я пытаюсь изучить API канала Google App Engine.Передача сообщения API канала GAE только одному клиенту?

Я попытался создать простое приложение для чата, но у меня проблемы.

Это, как правило, то, что я сделал.

сервер открывает статический канал:

token = channel.create_channel('bigboys') 

клиент JS подключения к каналу с:

var channel = new goog.appengine.Channel(token) 

Я не использую Google App Engines пользователей. Я не хочу, чтобы клиенты приходили в систему.

Итак, моя проблема заключается в том, что приложение чата действительно не работает, только один клиент может присоединиться к каналу. Я знаю, что есть один идентификатор клиента для каждого канала. Итак, как мне поддерживать несколько клиентов в одной «чатовой комнате»?

ответ

7

Думайте о канале, являющемся связью между одним клиентом (браузером) и вашим сервером.

Если у вас есть чат, вам понадобится канал для каждого клиента. Вам потребуется что-то на стороне сервера, чтобы отслеживать всех клиентов в чате и канал для каждого клиента. Когда вы отправляете сообщение, вам нужно отправить его на каждый клиентский канал в чате.

+0

OKAY. что имеет смысл тогда, что я интерпретировал – AlexCheuk

+0

Итак, каков оптимальный способ отслеживания всех клиентов, слушающих «трансляцию»? Не могли бы вы сохранить их в Мемкхаче? Хранилище данных? – Chuck

+2

У меня будет сущность в хранилище данных для «трансляции», в которой хранится список всех клиентов. Будет использовать memcache для уменьшения ударов в хранилище данных (ndb делает это автоматически). – dragonx

 Смежные вопросы

  • Нет связанных вопросов^_^