0
我想让我的网站更新一个新的信息添加到数据库中。我不能使用Node.js
和Comet Programming
,而Javascript's setInterval
由于请求太多而似乎不太合适。通过PHP无限循环持续连接服务器
我现在用的是这样的:
的Javascript:
var url = "path_to/file.php";
var req = xmlhttp();
req.open("GET", url, true);
req.send(null);
poll = setInterval(getResponse, 100);
function getResponse()
{
var data = req.responseText;
var res = document.getElementById("response");
res.innerHTML = data;
}
PHP:
<?php
set_time_limit(0);
ob_start();
while(true)
{
#CODE
flush();
ob_flush();
sleep(0.3);
}
flush();
ob_flush();
?>
这是一个好主意?我可以毫无问题地使用它吗?也许有人知道更好的方法来保持连接? (在我的网站上将会有500个在线用户)
你试图做什么以及期望的结果是什么?为什么会有这个无限循环?这个'flush(); ob_flush();'你以后'while(true){..}'永远不会被执行...... – shadyyx
@shadyyx这个例子将用于一个聊天系统,但是我也必须在网站上显示新的信息添加到数据库中。 (我的oppinion每秒发送Ajax请求会减慢整个页面的速度)。 [谢谢我将删除这些行。 ] – John
我从来没有见过这样的实现,但AJAX请求。如果您认为每一秒都是非常耗时且耗费服务器资源您仍然可以每隔3秒钟请求更改...... – shadyyx