【Linux】正確使用SO_RCVTIMEO和SO_SNDTIMEO套接口選項

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章