下面这段代码
let XXXXX = new http.Agent({ keepAlive: true, maxSockets: 1})
for(let i=0;i<3;i++){
http.get({
hostname: 'localhost',
method:'GET',
port: 23659,
path: '/api/get/alive',
agent:XXXXX
}, resp => {
resp.on('data', data => {
console.log('data',data)
});
for (const key in XXXXX.sockets) {
console.log(key)
// if (XXXXX.sockets.hasOwnProperty(key)) {
// console.log(key + ": ", XXXXX.sockets[key]);
}
}).end()
放在 vscode 插件中, 运行后用 wireshark 抓包发现
Connection:close
放在一个普通 npm 项目中
Connection:keep-alive
搞了两天扛不住了, 大大们帮忙看看
1
jry 2023-07-09 20:21:51 +08:00 via iPhone
websocket
|
2
foolishcrab 2023-07-09 22:25:58 +08:00 via iPhone
你这是一个典型的 xy 问题,建议了解一下
|
4
loongwang OP @foolishcrab 求解,
我的逻辑是 发现 http 没有 keep-alive 导致逻辑存在问题=>尝试修改代码解决 keep-alive 问题 => 发现普通项目 keep-alive 没问题,但是插件项目中有问题 =>解决不了,发帖求助 |
5
niub 2023-07-10 09:20:39 +08:00
跟插件没啥关系,HTTP/1.1 起默认长连接
|