When I use gin to test, the port fails to start normally: [ERROR] listen tcp :8080: bind: address already in use When I use the route to modify the port, it still shows that 8080 port is used
func main() {
//r := gin.Default()
//r.GET("/ping", func(c *gin.Context) {
// c.JSON(http.StatusOK, gin.H{
// "message": "pong",
// })
//})
router := gin.Default()
router.GET("/hi", func(context *gin.Context) {
context.String(http.StatusOK, "Hello world!")
})
err := router.Run()
if err != nil {
panic("[Error] failed to start Gin server due to: " err.Error())
return
}
router.Run(":9888")
//r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
How should I modify it
CodePudding user response:
You're calling Run()
twice - and the first instance is being called without any address being supplied. So the default port 8080 is being used in this instance. Updating the code to supply the address in the first call, and removing the duplicate call should hopefully resolve this for you.
func main() {
router := gin.Default()
router.GET("/hi", func(context *gin.Context) {
context.String(http.StatusOK, "Hello world!")
})
err := router.Run(":9888")
if err != nil {
panic("[Error] failed to start Gin server due to: " err.Error())
return
}
}