2013-02-18 84 views
1

長輪詢和setTimeout之間的區別是什麼 我發現了長輪詢,但它與setTimeout沒有任何區別。長輪詢和setTimeout之間的區別

(function poll(){ 
    $.ajax({ url: "server", success: function(data){ 
     //Update your dashboard gauge 
     salesGauge.setValue(data.value); 

    }, dataType: "json", complete: poll, timeout: 30000 }); 
})(); 

回答

0

我猜你的代碼做的是正常的輪詢。

長輪詢保持客戶端請求打開,直到有新數據發送到客戶端。 Wikipedia最好描述它:

隨着長輪詢,客戶端從服務器請求 信息完全按照正常的查詢,但它發出的HTTP/S以低得多的頻率要求 (調查)。如果服務器在收到輪詢時沒有任何可用於客戶端的 信息, 而不是發送空響應,則服務器將請求 保持爲打開狀態並等待響應信息變爲可用。一旦 做了,服務器會立即向客戶端發送HTTP/S響應,完成開放的HTTP/S請求,即 。通過這種方式,消除了與輪詢客戶端 相關的等待時間(在信息第一次變得可用之前的時間 與下一個客戶端請求之間的時間)的通常響應 。