我在Mac上创建了一个简单的Go应用程序,用于在TCP连接中写入和读取数据。我用过GAE Go版本。后来,我将该程序移植到Windows,结果出现了以下错误:
Connection.SetReadTimeout undefined (type *net.TCPConn has no field or method SetReadTimeout)
我想Golang网站上的网络包信息只描述了GAE版本的包。如何在非GAE Go版本中正确设置超时?
对于最新的每周(又名Go 1 RC2),必须使用网络的各种Set*Deadline方法。连接器类型。请注意,旧的超时是相对于某些事件的,截止日期是绝对时间。这一变化的背景大致是:在某些情况下,设置1s的[相对]超时似乎是个好主意,但它适用于每个事件,比如接收一个字节,从而允许精心制作的传输永远避免超时(在相应的DOS附近)。