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