【发布时间】:2014-03-24 02:38:26
【问题描述】:
更新:我在这里发布了这段代码,在我一一添加了所有(99%)的可能性之后,它仍然给了我 120 秒的超时......缓冲。
所以,好吧,我认为在我的 Windows 7 机器上需要 120 秒(好吧,122 秒),直到FIN 握手开始。我想马上去做。 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) 怎么办? (其实是这样发
RST的……) 以及如何做到整件事
HTTP符合?
当然最后我会很幸运地使用nodejs和websocket一样的东西和所有这些,但是如果我的网站上的转换意味着两分钟的事情,并且我有一百万并发用户(嗯?),发送FIN立即可能意味着我有 200 万并发用户(算一下)。 ;) 好的,确定一点:发送FIN表示套接字已关闭?啊,嗯,好吧,既然你在,我怎么
console.log(res)或console.log(req)?它给了我[object Object]。 (更新:我试过console.log(res.toSource()),给我TypeError?
编辑:找到答案here。
【问题讨论】:
标签: javascript node.js