我在 vc++ 2008 中编写了一个 TCP Socket 应用程序。如果需要超过 x 秒,我希望“发送”操作超时。为此,我尝试使用
char *optValue = "5000";
setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, optValue, sizeof(optValue));
它返回成功,但“发送”没有按预期运行。然后尝试使用
tv.tv_sec = 10;
tv.tv_usec = 0;
FD_SET(accept_socket, &write_mask);
select(socket, (fd_set *)0, &write_mask, (fd_set *)0, &tv);
仍然“发送”未按照设置的超时值运行。请检查这是正确的方法吗?