禁用Golang Http服务器的Keep-Alive功能

5

我试图在golang中禁用Keep-Alive连接,但是没有清晰的说明如何做到这一点。

package main

import (
    "net/http"
    "github.com/julienschmidt/httprouter"
    "fmt"
)

func helloworld(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
    fmt.Fprint(w, "Hello, World!")
}


func main() {

    router := httprouter.New()

    router.GET("/", helloworld)


    fmt.Println("Running :-)")

    http.Server.SetKeepAlivesEnabled(false)
    log.Fatal(http.ListenAndServe(":3030", router))
}

有人能解决这个问题吗?

1个回答

14

SetKeepAlivesEnabled是一个实例配置,而非全局配置。
如果你真的需要实现这个功能,需要实例化你自己的服务器:

server := &http.Server{Addr: ":3030", Handler: router}

server.SetKeepAlivesEnabled(false)

server.ListenAndServe()

1
谢谢。对于初学 Go 语言的人来说,这个解释简单易懂。 - digiadit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接