Чат AJAX+PHP+Фреймворк

программирование php AJAX фреймворк

Есть чат, обновляется из БД ajax запросом с SetInterval в 1 секунду. Фреймворк Codeigniter. Обращение идет во фреймворк, тоесть эта махина раз в секунду загружается.

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


Примечание:
чат очень простой, с готовыми возиться нет времени и желания.

Примечание:
Да начал читать про Комет, это подойдет... Спасибо всем.
Ответы:
>>> Существует ли вообще запрос не от бразуера на сервер, а с сервера в браузер через javascript???
Нет, не существует. Браузер (клиент) всегда инициирует соединение.
Php для чатов все же лучше не использовать. Node.js подойдет гораздо лучше. Хотя если именно php то ознакомьтесь  http://www.slideshare.net/long13/php-daemons.  Такой подход позволить минимизировать нагрузку до такой степени что и Long Polling не нужен будет (если конечно у вас не тысячи пользователей чата). По поводу способов общения с сервером посмотрите здесь http://javascript.ru/ajax/comet/overview думаю поможет.
2 kotino
Демоны не решают проблемы ограниченности HTTP. Браузер как ждал 2 минуты до автообрыва, так и будет ждать, ему всё равно что там на стороне сервера - апач или демон на PHP.
Технологии Comet и BOSH как раз направлены на то, чтобы изящно преодолеть ограничения БРАУЗЕРОВ и протокола HTTP.
Epsiloncool
Начали говорить А, говорите и про В.
Вы уточните пожалуйста каким образом реализуя например  Long Polling вы будете удерживать соединение? Т.е. есть два клиента чата, оба отправили запрос, соответственно запрос удерживается либо пока не пройдет определенный интервал времени, либо до тех пор пока кто то не напишет в чате, как вы собираетесь это реализовывать?


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.