首页 > 解决方案 > nodejs代理超时后不断开连接

问题描述

我想将 http.Agent 配置为在 5 秒后断开连接,但它永远不会发生。

服务器配置为在 20 秒后断开连接(用于此测试)

连接在 20 秒后断开(服务器而不是客户端断开连接)

var http = require('http');

var myAgent = new http.Agent({keepAlive:true, keepAliveMsecs:5000});

var client = http.get({host:'localhost', agent:myAgent}, function(incMsg){
    incMsg.on('data', function(chunk){ console.log(chunk.toString()) });
    incMsg.on('end', function(){ console.log('-- END OF MESSAGE --') });    
});

如何配置代理以断开其 http 客户端的连接?

我在http服务器客户端连接方面相当新,如果我错过了一些明显的东西,我很抱歉,但我无法用谷歌搜索

标签: node.js

解决方案


timeout:5000必须使用代理选项而不是keepAliveMsecs:5000

这是工作代码

var http = require('http');

var myAgent = new http.Agent({keepAlive:true, timeout:5000});

var client = http.get({host:'localhost', agent:myAgent}, function(incMsg){
    incMsg.on('data', function(chunk){ console.log(chunk.toString()) });
    incMsg.on('end', function(){ console.log('-- END OF MESSAGE --') });    
});

推荐阅读