Какой эффективный способ борьбы с чатом JS? - PullRequest
0 голосов
/ 03 мая 2011

Допустим, я хочу написать окно чата AJAX, просто что-то простое, я пишу какой-то текст, и он публикуется.Давайте даже не будем слишком беспокоиться об именах пользователей в поле.

Первые инстинкты говорят мне просто написать таблицу и разместить в ней данные, и делать запросы каждые несколько секунд.

Давайте притворятьсяне 2011 и компьютеры дешевы, и у нас все в порядке с медленными запаздывающими окнами чата, которые обновляются каждые 5 секунд, или замедляют весь сервер из-за шторма SQL.

Какие есть альтернативы?Могу ли я что-нибудь сделать с XMPP?Что делать, если у меня не было ничего, кроме моего любимого серверного языка (и немного SQL)?Могу ли я использовать хеши сообщений каким-то аккуратным способом?Что я могу сделать, чтобы ограничить количество запросов?

Что я ищу, так это отличный план для написания программного обеспечения за сетевым чатом, очень ресурсоэффективного и гибкого.Я уверен, что мы делаем что-то здесь, на SO, для чатов, которые у нас уже есть.

1 Ответ

1 голос
/ 03 мая 2011

Ваша проблема в том, что вы время от времени проводите опросы.Что вам действительно нужно, так это постоянное соединение для потоковой передачи данных.

Вы можете попробовать использовать метод Comet - потоковое соединение, которое вы можете оставить открытым для отправки сообщений чата.1006 * Существует также трюк, называемый длинным опросом: вы сохраняете соединение открытым, пока не получите новое сообщение, затем закройте его и запустите новое.

...