새로운 요청이 발생하면 긴 폴링을 사용하고 AJAX 호출로 시작된 스크립트를 중지하려고합니다. 나는 동일한 스크립트를 실행하는 경우 (이이 $_SESSION['checker']
변수를 변경해야한다) 그래서,
$checker = $_SESSION['checker'] = time();
while (true) {
if ($checker != $_SESSION['checker']) {
$out = 'new one started';
break;
}
if (some other condition) {
$out = 'smth done or happend';
break;
}
sleep(3);
}
echo $out;
내가 몇 가지 기록을하고있다 및 $_SESSION['checker']
가 업데이트되지 않은 것 같습니다 : 이것은 AJAX 요청에 의해 시작되는 PHP 코드 , 이전에 시작된 스크립트의 while 루프는 여전히 이전 $_SESSION['checker']
을 볼 수 있습니다. 업데이트되지 않는 이유는 무엇입니까?
'그 모든 것이 의미가 있기를 바랍니다.'나는 의심 스럽습니다. –
안녕하세요, 질문을 명확히 해주시겠습니까? – brclz
PHP를 통하지 않고 아약스 부분으로 파기해야한다고 생각합니다. 현재 httprequest에서 .abort()를 시도하여 중지하고 다른 것을 시작하십시오. –