приложение чата на appengine - PullRequest
2 голосов
/ 24 марта 2010

Я хочу создать чат-сайт на App Engine. Но я обнаружил, что App Engine не позволит мне работать с сервером. (так как это убьет ответ через 30 секунд).

  1. Так, каков другой метод, который может использоваться? Будет ли опрос причиной плохого пользователя опыт? Смысл будет пользователь придется подождать некоторое время, чтобы получать новые сообщения с сервера?

  2. Каким будет идеальный опрос интервал

  3. Если вы используете очень малые интервалы опроса, будет ли исчерпана моя пропускная способность? Буду ли я испытывать проблемы с производительностью?

Ответы [ 4 ]

2 голосов
/ 18 февраля 2011

Это довольно старый вопрос сейчас, но я искал похожий ответ. Я думаю, что Channel API (http://code.google.com/appengine/docs/java/channel/) гораздо лучше подходит для этой задачи. Насколько я понимаю, XMPP хорош для взаимодействия с приложением, но не с другими пользователями. Channel API реализует push-уведомления через HttpRequest. только что нашел пример чата здесь: https://bitbucket.org/keakon/channelchat

1 голос
/ 24 марта 2010

Разве вы не можете просто использовать XMPP вместо веб-сайта? Это был бы намного лучший подход. Опрос, конечно, не будет хорошо масштабироваться и определенно не даст хорошего опыта пользователя.

XMPP с устройством

0 голосов
/ 15 апреля 2011

да, канал api - лучшее решение, с gwt - еще лучше

http://www.dev -articles.com / статьи / Google-App-Engine-отправка-сообщений-с XMPP-393002

0 голосов
/ 24 марта 2010

Я слышал о людях, которые работают над этим, удерживая соединение (т.е. не отправляя ответ), пока оно не умрет, а затем не восстановит его. 30 секунд - это не так много.

Если сделать это таким образом, пользователь все равно будет чувствовать себя более отзывчивым, чем опрос каждые 30 секунд.

Об использовании полосы пропускания: в зависимости от полезной нагрузки «типичные» запросы HTTP могут варьироваться от нескольких сотен байтов до нескольких килобайт, особенно с файлами cookie.

При среднем размере, скажем, 5 КБ (пессимистично) каждые 30 секунд, что в сумме составляет около 14 МБ в сутки. Может быть, вы можете уменьшить размер, указав путь в своих файлах cookie, чтобы они не отправлялись для этих подключений. Возможно, вам не нужно отправлять всю полезную нагрузку каждые 30 секунд.

...