summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2018-04-18 14:28:19 -0400
committerLuke Shumaker <lukeshu@lukeshu.com>2018-04-18 14:28:19 -0400
commitc78cb15705d6e4fb1c8a46a129391bb79e78d9a1 (patch)
treeb37d364a1052a9b3e1da529ea9a0ccfd4d3c0a35
parentce2c9ff07ea024b5c883139dd916cd31ca600a08 (diff)
set a dial timeout
-rw-r--r--main.go8
1 files 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, " ")