我正在使用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
答案 0 :(得分:0)
此代码适用于我:
<?php
session_start();
session_write_close();
set_time_limit(5);
while(true)
{
echo time() . '<br>';
ob_flush();
flush();
sleep(1);
}
?>