mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 11:07:40 +08:00
Merge pull request #272 from fumiama/delay
fix #245: tcping error handling
This commit is contained in:
commit
fba6bc90e2
@ -2,7 +2,6 @@ package utils
|
||||
|
||||
import (
|
||||
"net"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -47,13 +46,10 @@ func RunTCPPingLoop(ipport string, count int) (r ICMPPingResult) {
|
||||
|
||||
func tcping(ipport string) (int64, error) {
|
||||
t := time.Now().UnixMilli()
|
||||
conn, err := net.DialTimeout("tcp", ipport, time.Second*2)
|
||||
conn, err := net.DialTimeout("tcp", ipport, time.Second*10)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), "timeout") {
|
||||
return 9999, err
|
||||
}
|
||||
} else {
|
||||
_ = conn.Close()
|
||||
return 9999, err
|
||||
}
|
||||
_ = conn.Close()
|
||||
return time.Now().UnixMilli() - t, nil
|
||||
}
|
||||
|
@ -2,11 +2,16 @@ package utils
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestPing(t *testing.T) {
|
||||
r := RunTCPPingLoop("127.0.0.1:23333", 4)
|
||||
if r.PacketsLoss == r.PacketsSent {
|
||||
t.Fatal(r)
|
||||
}
|
||||
assert.Equal(t, 4, r.PacketsLoss)
|
||||
assert.Equal(t, 4, r.PacketsSent)
|
||||
r = RunTCPPingLoop("114.114.114.114:53", 4)
|
||||
assert.Equal(t, 0, r.PacketsLoss)
|
||||
assert.Equal(t, 4, r.PacketsSent)
|
||||
t.Log(r.AvgTimeMill)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user