Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вопрос про LONG POLLING

Сообщения:  [1-1] 

 
 автор: Nikolayers   (20.08.2013 в 15:23)   письмо автору
 
 

1) Прочитал на форуме фрилансеров, что LONG POLLING жрет много оперативной памяти. Правда ли это? Проверить нет возможности, интересует опыт форумчан)) Фрилансеры посоветовали использовать обычный опрос сервера через аякс с интервалом 3 секунды...В каком их методов искать выигрыш? ПЛАНИРУЮ арендовать сервер, но до октября точно будет хостинг.
2) Тестирую сайт на денвере, и лонг поллинг работает хорошо, в консоли браузера статус соединения pending....Но когда нажимаю F5, сайт на денвере зависает, и приходиться перезапускать денвер. КОД взят с ИНТЕРНЕТА, и он же на моем сайте, и он же зависает:

$limit = 25;// number of second the script allowed to run. 
set_time_limit($limit+15);// just to be sure that script will be killed
$time = time();
$last_id = (int)$_POST['id'];
// цикл, проверяющий новые сообщения каждые 5 секунд
while ((time()-$time)<$limit) {
    // checking if something new was added to my test table
    $sql = "SELECT * FROM chat WHERE `msg_id`>".$last_id." ORDER BY `msg_id` DESC LIMIT 50";
    $query = mysql_query($sql);
     if (mysql_num_rows($query)) {   // если есть новые строки в бд  - то обрабатываем и отдаём клиенту
        while ($item=mysql_fetch_array($query)) {
                     // собираем нужные данные из бд
         // и отдаем его клиенту через echo 
        }
        // выбрасываем все данные и выходим, чтобы клиент смог их обработать
        ob_flush();
        flush();
        exit;
    }
    // если данных нет - ждём 5 секунд
    sleep(5);
}
mysql_close();

  Ответить  

Сообщения:  [1-1] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования