loongwang

求助, 我在开发一个 vscode 插件, 发现插件中无法保持 http 长连接, 是插件有哪些隐藏设定吗

  •  
  •   loongwang ·
    alonWang · Jul 9, 2023 · 3194 views
    This topic created in 1215 days ago, the information mentioned may be changed or developed.

    下面这段代码

      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
    

    搞了两天扛不住了, 大大们帮忙看看

    Supplement 1  ·  Jul 11, 2023
    希望是让所有请求顺序执行, agent 搞不定, 最终解决办法
    http.globalAgent.maxSockets = 1
    6 replies  •  2023-07-11 19:42:32 +08:00
    jry
    jry
    Jul 9, 2023 via iPhone
    1
    websocket
    foolishcrab
    foolishcrab
    Jul 9, 2023 via iPhone
    2
    你这是一个典型的 xy 问题,建议了解一下
    loongwang
    loongwang
    OP
    Jul 9, 2023
    3
    @jry 改造成本有点大,所以想尽可能解决长连接问题
    loongwang
    loongwang
    OP
    Jul 9, 2023
    4
    @foolishcrab 求解,
    我的逻辑是
    发现 http 没有 keep-alive 导致逻辑存在问题=>尝试修改代码解决 keep-alive 问题 => 发现普通项目 keep-alive 没问题,但是插件项目中有问题 =>解决不了,发帖求助
    niub
    niub
    Jul 10, 2023
    5
    跟插件没啥关系,HTTP/1.1 起默认长连接
    loongwang
    loongwang
    OP
    Jul 11, 2023
    6
    @niub but 在一个新的非插件项目中 表现就正常
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1605 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 793ms · UTC 23:43 · PVG 07:43 · LAX 15:43 · JFK 18:43
    ♥ Do have faith in what you're doing.