2012-07-11 52 views
0

我正在使用長輪詢,因爲在建立連接1分鐘後,nginx服務器將響應504網關超時,我在$ .ajax中編寫錯誤處理函數,以便它可以自動重新連接到服務器收到504錯誤時。但是,儘管我已經這樣做了,但我不知道這是否是長輪詢機制的最佳做法,並且這會在日誌中產生大量的504。這似乎不夠好,所以我應該怎麼做?什麼是自動重新建立長輪詢請求的最佳方式?

回答

1

您應該在較長的輪詢響應中減少超時。通常30秒或更短的時間就可以實現。如果在30秒內你的服務器沒有數據要發送,它必須發送一個空的響應。然後,客戶端會立即發出一個新請求(立即或暫停後,取決於您希望減少延遲的次數;例如,在Lightstreamer中,默認情況下,我們不會在長輪詢週期之間使用任何暫停)。

+0

很好的答案,非常感謝!更詳細的,我怎麼能在Tornado上做到這一點,我沒有看到有關Tornado文檔的請求時間計算和處理的任何事情。 – Reorx 2012-07-12 08:00:53

相關問題