Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ajax-чат: больше файлов или меньше запросов? какой подход лучше выбрать 
:(
    Опции темы
Alx
Дата 29.9.2007, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



мм такая задача.

нужен обмен 3 типами информацией между javascript и php:
(1) запись в БД нового сообщения (отправка)
(2) выборка новых сообщений (получение)
(3) обновление списка юзеров онлайн
(-) ... на самом деле возможны ещё, такие как добавление/удаление из игнор листа и всякая такая мелочь

на данный момент делаю так:

есть один файл chat.php (содержит функции для работы с mysql, инициализирует и обновлет сессии, подключает конфигурационный файл).
есть три разных ajax запроса ((1)-по нажатию "отправить",(2)-рекурсивно:след. сразу после получения результата,(3)-по таймауту 30 секунд).
в трех разных случаях он подключает необходимый PHP файл (1 из 3х - get.php, write.php, online.php).

поступило предложение свести все к одному запросу, соответственно всё отправляется вместе, т.е. (1) ждет (2), а (3) выполняется по счетику на сервере один раз из 30.

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

спасибо.

Это сообщение отредактировал(а) Alx - 29.9.2007, 20:12


--------------------
PM MAIL WWW ICQ   Вверх
Goganchic
Дата 29.9.2007, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Я не специалист, но по-моему чем меньше будет запросов - тем будет лучше, ибо на установку соединения тратится достаточно много времени.
PM Jabber   Вверх
Sannis
Дата 30.9.2007, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: 6
Всего: 13



Связать 1 и 2 можно, это логично и просто.
А вот насчёт 3 не выйдет, если вы хотите счётчик на сервере располагать... Сервер сам не может послать данные клиенту и вызвать у него включение обработчика этих данных.


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
Alx
Дата 30.9.2007, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



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

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


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3094 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.