fix: 修复网络连接时波动导致客户端死锁问题
This commit is contained in:
parent
8ae1b59a55
commit
6c6995d2dd
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user