[英]How to send the 'FIN' with node.js?
更新:我在此代碼中逐一添加了所有(到99%)的可能性之后,在這里發布了此代碼,但它仍然給了我120秒的超時時間……...住了。
因此,好吧,我發現在Windows 7計算機上,要開始FIN
握手之前,它只需要120秒(好,就是122秒)。 我要立即做。 HTTP RFC793說
FIN:沒有來自發件人的更多數據
在我看來,我不再發送任何數據。 我嘗試了所有這些腫的代碼,仍然是Hello World
服務器...
var http = require('http')
var server = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'})
res.write('HELLO WORLD!\n')
res.end()
res.setTimeout(0)
req.abort() // 1) TypeError: Object #<IncomingMessage> has no method 'abort'
req.on('socket', function (socket) {
socket.setTimeout(0)
socket.on('timeout', function() {
req.abort()
})
})
})
server.timeout = 0
server.setTimeout(0)
server.listen(1337, '192.168.0.101')
RST
...) 以及如何使整個HTTP
符合要求?
當然,最后我會很幸運地在websocket
內容中使用nodejs
,但如果在我的網站上進行轉換意味着兩分鍾的時間,並且我有100萬並發用戶(呵呵),立即發送FIN
可能表示我有200萬並發用戶(進行數學計算)。 ;)好的,可以肯定的是:發送FIN
表示套接字已關閉?
嗯,嗯,好的,既然您打開了,我該如何console.log(res)
或console.log(req)
? 它給了我[object Object]
。 (更新:我嘗試console.log(res.toSource())
,給我TypeError
嗎?
編輯:在這里找到答案。
如果要關閉連接,請發送一個connection: close
標頭。 如果執行此操作,則它將不會保持連接打開以供重用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.