一、 SO_RCVTIMEO和SO_SNDTIMEO套接口选项说明
1. 这两个选项给套接字的接收和发送设置一个超时值。注意,访问函数的参数是指向timeval结构的指针。
2. 通过设置值为0秒和0微妙禁止超时。缺省情况下,两个超时都是禁止的。
二、 SO_RCVTIMEO的正确使用方法
1. 获取接收的超时值
socklen_t optlen = sizeof(struct timeval);
struct timeval tv;
tv.tv_sec = 10;
tv.tv_usec = 0;
getsockopt(socketfd, SOL_SOCKET,SO_SNDTIMEO, &tv, &optlen);
2. 设置接收的超时值
socklen_t optlen = sizeof(struct timeval);
struct timeval tv;
tv.tv_sec = 10800;
tv.tv_usec = 0;
setsockopt(socketfd, SOL_SOCKET, SO_RCVTIMEO, &tv, optlen);