0
我需要編寫一個程序來獲取nodejs中某些現有服務的一些json數據。但通過關注我的應用程序中的實時情況,我需要確保準備好的答案不會花費比較長的時間,例如2秒。 在那段時間之後,我想切斷已建立的連接,並從我自己的數據庫中爲客戶端提供我的數據。 我已經搜索了很多,但我發現的唯一的事情是在http.request中設置套接字的超時,這將在下面介紹。在nodejs中持續一段時間後掛斷http連接
var options = { ... }
var req = http.request(options, function(res) {
// Usual stuff: on(data), on(end), chunks, etc...
}
/* This does not work TOO MUCH... sometimes the socket is not ready (undefined) expecially on rapid sequences of requests */
req.socket.setTimeout(myTimeout);
req.socket.on('timeout', function() {
req.abort();
});
上述代碼僅在服務器無法訪問或無法聯繫時執行。但我的問題是迫使連接關閉。 有沒有人有任何想法?
它不適合我!請求仍然需要超過2000毫秒! – JGC
我使用example.com測試了上面的代碼片段。對於超時屬性值較低,我得到了一個ETIMEDOUT錯誤,所以它肯定有效([email protected] +節點4.1.1)。沒有真實的代碼,我什麼都不能做。 – PatrickD