簡體   English   中英

如何使用node.js發送“ FIN”?

[英]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')
  1. 那么如何做1)? (實際上發送這樣的RST ...)
  2. 以及如何使整個HTTP符合要求?
    當然,最后我會很幸運地在websocket內容中使用nodejs ,但如果在我的網站上進行轉換意味着兩分鍾的時間,並且我有100萬並發用戶(呵呵),立即發送FIN可能表示我有200萬並發用戶(進行數學計算)。 ;)好的,可以肯定的是:發送FIN表示套接字已關閉?

  3. 嗯,嗯,好的,既然您打開了,我該如何console.log(res)console.log(req) 它給了我[object Object] (更新:我嘗試console.log(res.toSource()) ,給我TypeError嗎?
    編輯:這里找到答案。

如果要關閉連接,請發送一個connection: close標頭。 如果執行此操作,則它將不會保持連接打開以供重用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM