![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Alx |
|
|||
|
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 |
|||
|
||||
| Goganchic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 678 Регистрация: 18.6.2004 Репутация: нет Всего: 5 |
Я не специалист, но по-моему чем меньше будет запросов - тем будет лучше, ибо на установку соединения тратится достаточно много времени.
|
|||
|
||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: 6 Всего: 13 |
Связать 1 и 2 можно, это логично и просто.
А вот насчёт 3 не выйдет, если вы хотите счётчик на сервере располагать... Сервер сам не может послать данные клиенту и вызвать у него включение обработчика этих данных. -------------------- |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
Sannis, а зачем? если запрос посылается раз в секунду, мы просто можем создать счетчик в тех же сессиях, и увеличивать его с каждым запросом. а когда он будет равен 30, обращаться к таблице сессий и возвращать параллельно с новыми сообщениями список контактов.
другое дело - что касается не периодических действий, таких как - добавка в игнор лист, модераторский бан и т.п. как быть с этими запросами? |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |