同一页面同时只能加载一页,直到当前页面停止

时间:2014-10-09 14:39:57

标签: php while-loop locking server-sent-events

我正在使用Server-Sent Event

执行此操作

我有一个问题,那就是我只能同时打开同一页

一个不是两个或更多(因为他们只会加载它直到当前页面停止),

并且它也不是 session_write_close()

这是我在服务器上测试的代码

(还有两个不同的服务器,XAMPP和EasyPHP以及OSX内置的PHP),

我将其重命名为“test.php”:

<?php
set_time_limit(0);
while(true)
{
    echo time() . '<br>';
    ob_flush();
    flush();
    sleep(1);
}
?>

当我运行test.php时,它看起来一切顺利,

但是如果我在另一个标签页面中打开同一页面,它就没有给我任何东西(冻结),

谁能告诉我什么是错的?对此有限制吗?

编辑:2014/10/10

虽然此代码不在演示中,但看起来像是

时发生的
header('Cache-Control: no-cache');

存在于您的代码中,也许是Google Chrome错误,我会尽快查看..

-

此问题仅发生在Google Chrome上,因此我更改了

header('Cache-Control: no-cache');

header('Cache-Control: no-store, no-cache, must-revalidate');

并且它有效,直到您达到Apache中每个IP的限制连接 config

max connections per server of browser :D

1 个答案:

答案 0 :(得分:0)

此代码适用于我:

<?php
session_start();
session_write_close();
set_time_limit(5);
while(true)
{
    echo time() . '<br>';
    ob_flush();
    flush();
    sleep(1);
}
?>