ThePiachu
ThePiachu

Reputation: 9185

Golang, net.TCPConn, SetReadTimeout?

I've created a simple Go application on a Mac for writing and reading data to and from a TCP connection. I've used the GAE Go version. Later, I ported that program to Windows, and I got this error :

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

I guess the net package information on the Golang website describes the package only for the GAE version. How would I properly set the timeout in a non-GAE Go version?

Upvotes: 0

Views: 2046

Answers (1)

zzzz
zzzz

Reputation: 91409

With latest weekly (aka Go 1 RC2) one has to use the various Set*Deadline methods of the net.Conn type. Note that the old timeouts were relative to some event, deadlines are absolute times. The background for this change is roughly: setting a [relative] timeout of 1 s seems like a good idea in some scenario, but it applied to every event, like receiving a single byte, thus allowing crafted transfers to avoid timeouts forever (with the respective DOS nearby).

Upvotes: 1

Related Questions