diff --git a/client/client.go b/client/client.go index 84d04b4e..ba3568a8 100644 --- a/client/client.go +++ b/client/client.go @@ -890,11 +890,6 @@ func (c *QQClient) sendAndWait(seq uint16, pkt []byte, params ...requestParams) Error error } - err := c.send(pkt) - if err != nil { - return nil, err - } - ch := make(chan T) defer close(ch) @@ -912,6 +907,12 @@ func (c *QQClient) sendAndWait(seq uint16, pkt []byte, params ...requestParams) } }, params: p}) + err := c.send(pkt) + if err != nil { + c.handlers.Delete(seq) + return nil, err + } + retry := 0 for { select {