Go:http.Server连接池

Go:http.Server连接池,go,connection-pooling,httpserver,Go,Connection Pooling,Httpserver,我知道Go语言中的http.Client在类型Transport中有连接池 但是http.Server中没有传输 我希望访问服务器的池 列出所有连接 关闭连接/将其从池中删除 更新 我正在学习围棋的源代码 这个函数的答案似乎是没有池 可能有人知道如何覆盖该功能? 是否必须创建包的孔副本?编辑:请注意,传输结构对应于http客户端,而不是http服务器 传输结构位于此处: 在该结构中有几个感兴趣的成员: idleConn idleConnCh reqConn 我想严格地说,这就是你要问的 然而

我知道Go语言中的http.Client在类型Transport中有连接池

但是http.Server中没有传输

我希望访问服务器的池

  • 列出所有连接
  • 关闭连接/将其从池中删除
  • 更新

    我正在学习围棋的源代码

    这个函数的答案似乎是没有池

    可能有人知道如何覆盖该功能? 是否必须创建包的孔副本?

    编辑:请注意,传输结构对应于http客户端,而不是http服务器

    传输结构位于此处:

    在该结构中有几个感兴趣的成员:

    idleConn
    idleConnCh
    reqConn
    
    我想严格地说,这就是你要问的

    然而,这些并没有被导出,很明显,作者并不打算从其他软件包中修改它们

    我建议您看看
    CloseIdleConnections
    CancelRequest
    ——这些似乎是处理连接池的导出函数,也许可以解决部分问题


    否则,你基本上会遇到“它不是设计来做这件事的”。显然(有人可能会过来纠正我,但我不知道如何)没有办法扩展内置类型,使您能够访问仅在其包中可见的成员(即以小写字母开头的成员)。这意味着,如果不修改
    http
    包的源代码(或者复制它并制作自己的包),您就无法访问传输结构的这些成员。

    我从邮件列表中得到了答案


  • 传输在服务器中不可用(仅在客户端)
  • 我可以通过我自己的网络
  • LimitListener就是这样的实现之一。

  • 传输在http.Server.net中不可用。应改用侦听器