一、 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);