Слушайте TCP4, а не TCP6

Я использую https://github.com/gin-gonic/gin для написания http-сервиса. Но когда я его развертываю, он продолжает развертываться на tcp6 (согласно netstat)

r := gin.Default()
//none of these are working , It keeps being listed on tcp6
r.Run(":8080")
r.Run("*:8080")
r.Run("0.0.0.0:8080")

person user914584    schedule 26.07.2016    source источник


Ответы (1)


В документации указано

Run подключает маршрутизатор к http.Server и начинает прослушивать и обслуживать HTTP-запросы. Это ярлык для http.ListenAndServe(addr, router)

Вы можете запустить сервер напрямую, используя http.Server так же, как это делает пакет http в ListenAndServe.

server := &http.Server{Handler: r}
l, err := net.Listen("tcp4", addr)
if err != nil {
    log.Fatal(err)
}
err = server.Serve(l)
// ...
person JimB    schedule 26.07.2016