V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
loongwang

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

  •  
  •   loongwang ·
    alonWang · Jul 9, 2023 · 2641 views
    This topic created in 1026 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
        1
    jry  
       Jul 9, 2023 via iPhone
    websocket
    foolishcrab
        2
    foolishcrab  
       Jul 9, 2023 via iPhone
    你这是一个典型的 xy 问题,建议了解一下
    loongwang
        3
    loongwang  
    OP
       Jul 9, 2023
    @jry 改造成本有点大,所以想尽可能解决长连接问题
    loongwang
        4
    loongwang  
    OP
       Jul 9, 2023
    @foolishcrab 求解,
    我的逻辑是
    发现 http 没有 keep-alive 导致逻辑存在问题=>尝试修改代码解决 keep-alive 问题 => 发现普通项目 keep-alive 没问题,但是插件项目中有问题 =>解决不了,发帖求助
    niub
        5
    niub  
       Jul 10, 2023
    跟插件没啥关系,HTTP/1.1 起默认长连接
    loongwang
        6
    loongwang  
    OP
       Jul 11, 2023
    @niub but 在一个新的非插件项目中 表现就正常
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1049 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 178ms · UTC 23:32 · PVG 07:32 · LAX 16:32 · JFK 19:32
    ♥ Do have faith in what you're doing.