From f2deb5512f8f797fe438708adea3c6fecc0f2fed Mon Sep 17 00:00:00 2001 From: yarnom Date: Thu, 7 Aug 2025 20:12:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- launcher.go | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 launcher.go diff --git a/launcher.go b/launcher.go new file mode 100644 index 0000000..1188190 --- /dev/null +++ b/launcher.go @@ -0,0 +1,54 @@ +package main + +import ( + "flag" + "log" + "sync" +) + +func main() { + var webOnly = flag.Bool("web", false, "只启动Web服务器(原生http)") + var ginOnly = flag.Bool("gin", false, "只启动Gin Web服务器") + var udpOnly = flag.Bool("udp", false, "只启动UDP服务器") + flag.Parse() + + // 设置日志 + setupLogger() + + var wg sync.WaitGroup + + if *webOnly { + // 只启动原生Web服务器 + log.Println("启动原生Web服务器模式...") + StartWebServer() + } else if *ginOnly { + // 只启动Gin Web服务器 + log.Println("启动Gin Web服务器模式...") + StartGinServer() + } else if *udpOnly { + // 只启动UDP服务器 + log.Println("启动UDP服务器模式...") + startUDP() + } else { + // 同时启动UDP和Gin Web服务器 + log.Println("启动完整模式:UDP + Gin Web服务器...") + + wg.Add(2) + + // 启动UDP服务器 + go func() { + defer wg.Done() + log.Println("正在启动UDP服务器...") + startUDP() + }() + + // 启动Gin Web服务器 + go func() { + defer wg.Done() + log.Println("正在启动Gin Web服务器...") + StartGinServer() + }() + + wg.Wait() + } +}