From a7761bfb7571dabd619e582dbec2ab4c20c6c312 Mon Sep 17 00:00:00 2001 From: Mrs4s <1844812067@qq.com> Date: Sun, 2 Aug 2020 23:01:53 +0800 Subject: [PATCH 1/2] fix server. --- client/client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index d1199899..9e601428 100644 --- a/client/client.go +++ b/client/client.go @@ -41,6 +41,7 @@ type QQClient struct { decoders map[string]func(*QQClient, uint16, []byte) (interface{}, error) handlers sync.Map + server *net.TCPAddr syncCookie []byte pubAccountCookie []byte @@ -617,7 +618,10 @@ var servers = []*net.TCPAddr{ } func (c *QQClient) connect() error { - conn, err := net.DialTCP("tcp", nil, servers[rand.Intn(len(servers))]) + if c.server == nil { + c.server = servers[rand.Intn(len(servers))] + } + conn, err := net.DialTCP("tcp", nil, c.server) if err != nil { return err } From 683ad4b6cbb5ec8336ed8eb29ee48ecc81f07a05 Mon Sep 17 00:00:00 2001 From: Mrs4s <1844812067@qq.com> Date: Mon, 3 Aug 2020 00:50:28 +0800 Subject: [PATCH 2/2] fix ttl panic. --- utils/ttl.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/ttl.go b/utils/ttl.go index 4248e900..9a7c6d42 100644 --- a/utils/ttl.go +++ b/utils/ttl.go @@ -40,7 +40,7 @@ func NewTTList(ttl int64) *TTList { func (l *TTList) Add(i interface{}) { l.lock.Lock() - l.lock.Unlock() + defer l.lock.Unlock() l.list = append(l.list, &item{ i: i, lastAccess: time.Now().Unix(), @@ -49,7 +49,7 @@ func (l *TTList) Add(i interface{}) { func (l *TTList) Any(filter func(i interface{}) bool) bool { l.lock.Lock() - l.lock.Unlock() + defer l.lock.Unlock() for _, it := range l.list { if filter(it.i) { it.lastAccess = time.Now().Unix()