1
我已經使用普通的Apache服務器,PHP,AJAX和Javascript成功實現了長輪詢。我不使用Jquery與服務器進行通信。如何使用PHP和AJAX提高長輪詢功能
問題是Apache服務器功能有限,服務器無法提供超過5個瀏覽器選項卡。
我不知道是否有任何定製的Apache或PHP使他們處理更多的併發連接?或者如果有任何新的/聰明的技術來做到這一點?什麼是最大的線程可以由專門用於長輪詢的健壯Web服務器來處理?
由於瀏覽器的兼容性,我對Web套接字不感興趣。我需要一些簡單而健壯的PHP。 Facebook在做什麼?我想知道他們如何能夠爲數百萬用戶處理所有動態更新!他們使用什麼產品/技術?
我的代碼示例:
srv_polling.php
<?php
function getResults(){..... return result;}
// recursive function inside the server
function hasResultChanged($old,$timeStart){
// to avoid server timeout (in seconds) in case no change for results
if(round(abs(time() - $timeStart)/60*60,2) > 50)
return;
$new = getResults();
if($new != $old) // get back to browser
return true;
else{
$old = getResults();
sleep(2);
return $hasResultChanged($old,$timeStart);
}
}
$timeStart = time();
$old = $getResults();
sleep(2);
$hasResultChanged($old,$timeStart);
?>
// Javascript code to be executed at browser end
alert('Result has changed');
// Send AJAX request again to same page(srv_polling.php):
ajax.call({......})
謝謝你的提示!不勝感激。