1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 11:07:40 +08:00

optimize server. close #12

This commit is contained in:
Mrs4s 2020-08-12 09:15:22 +08:00
parent bc92836f29
commit ee1117893f

View File

@ -143,6 +143,7 @@ func (c *QQClient) Login() (*LoginResponse, error) {
if c.Online { if c.Online {
return nil, ErrAlreadyOnline return nil, ErrAlreadyOnline
} }
c.server = nil
err := c.connect() err := c.connect()
if err != nil { if err != nil {
return nil, err return nil, err
@ -700,7 +701,16 @@ var servers = []*net.TCPAddr{
func (c *QQClient) connect() error { func (c *QQClient) connect() error {
if c.server == nil { if c.server == nil {
c.server = servers[rand.Intn(len(servers))] addrs, err := net.LookupHost("msfwifi.3g.qq.com")
if err == nil && len(addrs) > 0 {
addr := addrs[rand.Intn(len(addrs))]
c.server = &net.TCPAddr{
IP: net.ParseIP(addr),
Port: 8080,
}
} else {
c.server = servers[rand.Intn(len(servers))]
}
} }
conn, err := net.DialTCP("tcp", nil, c.server) conn, err := net.DialTCP("tcp", nil, c.server)
if err != nil { if err != nil {