Golang 保持活力

时间:2021-06-01 06:34:34

标签: go keep-alive

我有以下代码:

package main

import (
   "net/http"
    "github.com/labstack/echo"
)
func main() {
e := echo.New()
e.POST("/getRequestData", respond)
e.Logger.Fatal(e.Start(":80"))
}

func respond(c echo.Context) error {

        resp := map[string]string{ "value": "key"}
        return c.JSON(http.StatusOK, resp)
}

我希望与此服务器的连接最多可打开 10 分钟不活动。 我看到的是,每隔几分钟我就会从服务器收到 Ack,这导致它无限期地保持打开状态。 如何关闭 keep-Alive in go?

谢谢。

1 个答案:

答案 0 :(得分:2)

这在 2011 年的 issue 2011(服务器端)中被提及,并在 commit ac213ab 中得到解决。
这允许将 HTTP.Transport configuration 设置为 DisableKeepAlives to true, and MaxIdleConnsPerHost to -1 并遵守这些设置。

但如果您需要对 TCP 连接进行更多控制,implementing an Hijacker as in here 也是一个选项。

相关问题