我在 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 版本中正确设置超时?
最佳答案
对于最新的每周(又名 Go 1 RC2),必须使用 net.Conn 的各种 Set*Deadline 方法。类型。请注意,旧的超时是相对于某些事件的,截止日期是绝对时间。此更改的背景大致是:设置 1 s 的 [相对] 超时在某些情况下似乎是个好主意,但它适用于每个事件,例如接收单个字节,从而允许精心设计的传输以避免永远超时(附近有相应的 DOS)。
关于windows - Golang、net.TCPConn、SetReadTimeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9904935/