2012-03-27 14 views
5

我試圖在Node.js中實現一個http長輪詢服務器,並且不知道如何在達到超時時關閉/關閉掛起的請求。node.js中的長輪詢 - 如果沒有數據可用,如何'超時'掛起的請求?

3級可能的解決方案來我的腦海:

  1. 商店pendingRequest與哈希/對象時間戳,然後調用setIntervall,讓每一個1/2/X秒的pendingRequests是如果時間戳刪除太舊了。
  2. 設置套接字連接

這兩種解決方案似乎並不十分合理,所以這將是Node.js的方式來實現像這樣的超時?

回答

5

爲什麼這些聽起來不合理?特別是,在插座上設置超時似乎是有道理的我,如:

  1. 有一個built-in method for doing so
  2. 事件被觸發時連接超時,讓你做任何必要的清理(如在插座上撥打end/destroy

我可能會走這條路線,以便Node處理幕後的超時;但是,如果它對您的應用程序有意義,我不認爲保留時間戳和手動過期連接會造成任何傷害。

你可能有興趣在這些文章中,每個以不同方式處理即將到期的連接: