2009-12-25 136 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 2009-12-25 04:49:50

+0

要做的最好的事情就是测试它并找出答案。 – JAL 2009-12-25 05:43:15

+0

谢谢。我会玩这个,并找出答案。修复完成后会更新。 – Nirmal 2009-12-25 10:06:11