feat: 实现网关服务的长连接功能

This commit is contained in:
fish
2026-03-28 19:57:20 +08:00
parent 03728d743e
commit be24b465b1
7 changed files with 379 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
package main
import (
"fmt"
"log"
"net/http"
"backend/gateway/internal/config"
"backend/gateway/internal/router"
"backend/gateway/internal/ws"
)
func main() {
// 加载配置
cfg, err := config.Load()
if err != nil {
log.Fatalf("Failed to load config: %v", err)
}
// 创建 WebSocket Hub
hub := ws.NewHub()
go hub.Run()
// 创建路由器
r := router.NewRouter(hub)
// 启动服务器
serverAddr := fmt.Sprintf(":%d", cfg.Server.Port)
log.Printf("Gateway service starting on %s", serverAddr)
log.Printf("WebSocket endpoint: ws://localhost%s/ws", serverAddr)
log.Printf("Health check: http://localhost%s/health", serverAddr)
if err := http.ListenAndServe(serverAddr, r.SetupRoutes()); err != nil {
log.Fatalf("Failed to start server: %v", err)
}
}