【发布时间】:2021-08-19 08:26:19
【问题描述】:
我有以下 go 代码:
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,这会导致它无限期地保持打开状态。 如何在 go 中关闭 keep-Alive?
谢谢。
【问题讨论】:
-
".... 我从服务器获得了 Ack,这导致它无限期地保持打开状态..." - TCP 级别的 ACK 与空闲超时无关在应用程序级别。 TCP keep alive 只是为了在中间防火墙中保持状态打开,即使没有数据传输也能实现连接丢失。
标签: go keep-alive