Golang,net.TCPConn,SetReadTimeout?

时间:2012-03-28 09:44:35

标签: windows tcp timeout cross-platform go

我在Mac上创建了一个简单的Go应用程序,用于在TCP连接上写入和读取数据。我使用过GAE Go版本。后来,我将该程序移植到Windows,我收到了这个错误:

Connection.SetReadTimeout undefined (type *net.TCPConn has no field or method SetReadTimeout)

我想net package information on the Golang website仅针对GAE版本描述了该包。如何在非GAE Go版本中正确设置超时?

1 个答案:

答案 0 :(得分:1)

使用最新的每周(又名Go 1 RC2),必须使用net.Conn类型的各种Set * Deadline方法。请注意,旧的超时与某些事件有关,截止日期是绝对时间。这种变化的背景大致如下:在某些情况下设置[相对]超时1 s 似乎是一个好主意,但它适用于每个事件,如接收单个字节,从而允许精心设计的传输永远避免超时(附近有相应的DOS)。