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) } }