From 6c6995d2dd902fc083a04c2651f9d657df3dfb72 Mon Sep 17 00:00:00 2001 From: wuko233 Date: Tue, 17 Feb 2026 09:56:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=97=B6=E6=B3=A2=E5=8A=A8=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=AD=BB=E9=94=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/network/client.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/internal/network/client.go b/internal/network/client.go index 0c3ca65..754a76b 100644 --- a/internal/network/client.go +++ b/internal/network/client.go @@ -118,14 +118,22 @@ func (c *WSClient) closeConn() { c.isConnected = false } -func (c *WSClient) connect() any { - c.mu.Lock() - defer c.mu.Unlock() - +func (c *WSClient) connect() error { conn, _, err := websocket.DefaultDialer.Dial(c.config.ServerURL, nil) if err != nil { return err } + + c.mu.Lock() + defer c.mu.Unlock() + + select { + case <-c.stopChan: + conn.Close() + return nil + default: + } + c.conn = conn c.isConnected = true log.Printf("[网络] 成功连接到服务器: %s", c.config.ServerURL)