package main import ( "flag" "fmt" "log" "sync" ) func main() { udpPort := flag.String("udpport", "10002", "UDP服务器端口") httpPort := flag.String("httpport", "10001", "HTTP服务器端口") flag.Parse() if err := InitLogger(); err != nil { log.Fatalf("初始化日志系统失败: %v", err) } defer CloseLogger() StartLogRotation() err := InitDB() if err != nil { log.Fatalf("初始化数据库失败: %v", err) } defer CloseDB() var wg sync.WaitGroup wg.Add(1) go func() { defer wg.Done() Logger.Printf("使用UDP服务器模式") if err := StartUDPServer(":" + *udpPort); err != nil { log.Fatalf("UDP服务器启动失败: %v", err) } }() wg.Add(1) go func() { defer wg.Done() if err := StartHTTPServer(":" + *httpPort); err != nil { log.Fatalf("HTTP服务器启动失败: %v", err) } }() fmt.Println("服务器已启动成功") fmt.Printf("- HTTP接口: http://localhost:%s\n", *httpPort) fmt.Printf("- UDP接口: localhost:%s\n", *udpPort) wg.Wait() }