2009-12-25 10 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

관련 문제