fix: 修复网络连接时波动导致客户端死锁问题

This commit is contained in:
wuko233 2026-02-17 09:56:07 +08:00
parent 8ae1b59a55
commit 6c6995d2dd

View File

@ -118,14 +118,22 @@ func (c *WSClient) closeConn() {
c.isConnected = false c.isConnected = false
} }
func (c *WSClient) connect() any { func (c *WSClient) connect() error {
c.mu.Lock()
defer c.mu.Unlock()
conn, _, err := websocket.DefaultDialer.Dial(c.config.ServerURL, nil) conn, _, err := websocket.DefaultDialer.Dial(c.config.ServerURL, nil)
if err != nil { if err != nil {
return err return err
} }
c.mu.Lock()
defer c.mu.Unlock()
select {
case <-c.stopChan:
conn.Close()
return nil
default:
}
c.conn = conn c.conn = conn
c.isConnected = true c.isConnected = true
log.Printf("[网络] 成功连接到服务器: %s", c.config.ServerURL) log.Printf("[网络] 成功连接到服务器: %s", c.config.ServerURL)