From c78cb15705d6e4fb1c8a46a129391bb79e78d9a1 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Apr 2018 14:28:19 -0400 Subject: set a dial timeout --- main.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 4f4b983..3bbac78 100644 --- a/main.go +++ b/main.go @@ -97,14 +97,18 @@ func DoAddress(host, network, address string) Point { return NewPoint("public", tags, result) } +var dialer = net.Dialer{ + Timeout: 10 * time.Second, +} + func Hello(addr *net.TCPAddr) (name, version string, err error) { - conn, err := net.DialTCP(addr.Network(), nil, addr) + conn, err := dialer.Dial(addr.Network(), addr.String()) if err != nil { return "", "", err } defer conn.Close() conn.SetDeadline(time.Now().Add(10 * time.Second)) - conn.CloseWrite() + conn.(*net.TCPConn).CloseWrite() all, _ := ioutil.ReadAll(conn) line := strings.TrimRight(string(all), "\n") parts := strings.Split(line, " ") -- cgit v1.2.3