跳到主要内容

多端口示例

Github StackBlitz

本项目演示了如何使用 Fiber 框架在多个端口上运行 Go 应用程序。

先决条件

请确保已安装以下内容

设置

  1. 克隆仓库

    git clone https://github.com/gofiber/recipes.git
    cd recipes/multiple-ports
  2. 安装依赖

    go get

运行应用程序

  1. 启动应用程序
    go run main.go

示例

以下是如何在多个端口上运行 Fiber 应用程序的示例

package main

import (
"log"
"sync"

"github.com/gofiber/fiber/v2"
)

func main() {
app := fiber.New()

app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})

ports := []string{":3000", ":3001"}

var wg sync.WaitGroup
for _, port := range ports {
wg.Add(1)
go func(p string) {
defer wg.Done()
if err := app.Listen(p); err != nil {
log.Printf("Error starting server on port %s: %v", p, err)
}
}(port)
}

wg.Wait()
}

在此示例中

  • 应用程序监听多个端口 (:3000:3001)。
  • 使用 sync.WaitGroup 等待所有 goroutine 完成。

参考资料