func GetListing(addr string) ([]ServerRecord, error) {
conn, err := net.DialTimeout("tcp", addr, trackerTimeout)
+ if err != nil {
+ return []ServerRecord{}, err
+ }
defer func() { _ = conn.Close() }()
_, err = conn.Write(
if readLen, err = conn.Read(buf); err != nil {
return nil, err
}
- totalRead += readLen // 1514
+ totalRead += readLen // 1514
var th TrackerHeader
if err := binary.Read(bytes.NewReader(buf[:6]), binary.BigEndian, &th); err != nil {
payloadSize := int(binary.BigEndian.Uint16(info.MsgDataSize[:]))
+ buf = buf[:readLen]
if totalRead < payloadSize {
for {
tmpBuf := make([]byte, 4096)
totalSrv := int(binary.BigEndian.Uint16(info.SrvCount[:]))
srvBuf := buf[14:totalRead]
- totalRead += readLen
var servers []ServerRecord