windows - Golang、net.TCPConn、SetReadTimeout?

标签 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 版本中正确设置超时?

最佳答案

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

关于windows - Golang、net.TCPConn、SetReadTimeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9904935/

相关文章:

c++ - USB 磁盘写入延迟 (windows)

C 从客户端获取唯一标识符(TCP 套接字)

delphi - 取消 ADO 连接的连接尝试吗?

python - Discord.py 按钮响应交互在一定时间后失败

windows - Windows 有哪些好的 SSH 服务器?

c++ - 使用 C/C++ 捕获视频流

windows - 使用 CMake 和 minGW 编译 OpenCV

java - 为什么我不能通过套接字连接android和PC?

c++ - 从 Linux 中 TCP 套接字上接收到的数据包中获取 TOS 字段?

python - 有没有一种简单的方法可以让 flask 中的 session 超时?