3
我無法弄清楚我的生活像Cometd或簡單彗星的應用程序的目的,就像一個簡單的longpolling請求與PHP和一個代碼如此的代碼無限循環彗星軟件優於標準長輪詢
$time = time();
while(time() - $time < 30) {
if ($query) {
$shapes = ...;
echo json_encode($shapes);
break;
}
usleep(25000);
}
在爲多個請求設計的網絡服務器上運行,如lighttpd或NGIX。
也許我只是想知道彗星服務的文檔。我知道上面是一個「彗星」的要求,但爲什麼像cometd這樣的東西存在,他們做的更好。
其中之一是,在你的例子中,響應之間不會有250毫秒的延遲。另外,您不必爲每個活動連接都有一個完整的PHP進程。這些東西很重。您應該能夠在每臺服務器上打開更多的彗星連接,而不是使用等效的PHP長輪詢解決方案。 – 2011-04-27 20:18:11
@frank apache是唯一爲每個連接留下一個線程的網絡服務器。 lighttpd實際上是爲多線程連接而設計的。 – austinbv 2011-04-27 20:31:58
儘管PHP本身並不是真正的線程安全的 - 當然,許多PECL模塊並不是。使用lighttpd/nginx,你不會得到一個爲每個活動連接運行的PHP CGI過程嗎? – 2011-04-27 22:13:25