2009-12-25 2 views
1

Я хотел бы реализовать Комета в PHP и наткнулся на эту страницу:Как остановить этот AJAX?

http://www.zeitoun.net/articles/comet_and_php/start

Второй метод, описанный в статье, отлично работает для меня. В файле PHP бэкэнд, цикл, кажется бесконечным:

// infinite loop until the data file is not modified 
    $lastmodif = isset($_GET['timestamp']) ? $_GET['timestamp'] : 0; 
    $currentmodif = filemtime($filename); 
    while ($currentmodif <= $lastmodif) // check if the data file has been modified 
    { 
    usleep(10000); // sleep 10ms to unload the CPU 
    clearstatcache(); 
    $currentmodif = filemtime($filename); 
    } 

Когда клиент покидает страницу, как сообщить серверу, чтобы прекратить обработку цикла? В противном случае я боюсь, что цикл будет продолжаться и продолжаться на сервере, пока что-то не будет изменено.

ответ

1

Вам необходимо проверить функцию connection_status.

+0

Документация на PHP гласит: «Поведение по умолчанию, однако, для прерывания вашего сценария, когда удаленный клиент отключается». Означает ли это, что когда клиент, инициировавший запрос AJAX, отключается, цикл будет прерываться? – Nirmal

+0

Лучшее, что нужно сделать, это проверить его и выяснить. – JAL

+0

Спасибо. Я сыграю с этим и узнаю. Будет обновлен, когда это будет исправлено. – Nirmal

 Смежные вопросы

  • Нет связанных вопросов^_^