go gin 监听多个端口
时间: 2023-07-19 07:46:12 浏览: 88
可以通过在`gin.Engine`实例中使用`gin.Default()`方法来创建一个默认的路由器,然后使用该路由器的`Run()`方法来监听一个端口。如果要监听多个端口,则可以使用Go语言中的goroutine来实现并发监听。
下面是一个示例代码,可以监听两个端口:
```go
package main
import "github.com/gin-gonic/gin"
func main() {
router := gin.Default()
// 监听端口1
go func() {
if err := router.Run(":8080"); err != nil {
panic(err)
}
}()
// 监听端口2
go func() {
if err := router.Run(":9090"); err != nil {
panic(err)
}
}()
select {}
}
```
在这个示例中,我们创建了一个默认的路由器`router`,然后使用两个goroutine分别监听端口`8080`和`9090`。使用`select{}`语句可以让程序一直运行,不会退出。
需要注意的是,在使用goroutine并发监听端口时,需要确保它们不会互相干扰。例如,如果两个端口都使用了相同的HTTP路由器实例,那么它们会共享该路由器的状态,可能会导致并发问题。因此,建议为每个端口创建一个独立的路由器实例。