getsockopt
setsockopt
網路超時檢測:
必要性:避免程序在沒有資料時無限制的阻塞
當設定的時間到,程序從原操作返回繼續執行
3種方式可以:
1.設定socket的屬性
so_rcvtimeo 接收超時
so_sndtimeo 傳送超時
struct timeval tv;
tv.tv_sec = 5;
tv.tv_usec = 0;
setsockopt(sockfd, sol_socket,so_rcvtimeo,&tv,sizeof(tv));
5秒接收超時檢測。
2.select也可以超時檢測
3.設定定時器(timer),捕捉sigalrm訊號
#include
#include
void handler(int sig)
int main()
alarm(0);
printf("buf = %s\n", buf);
}getsockopt
setsockopt
網路超時檢測:
必要性:避免程序在沒有資料時無限制的阻塞
當設定的時間到,程序從原操作返回繼續執行
3種方式可以:
1.設定socket的屬性
so_rcvtimeo 接收超時
so_sndtimeo 傳送超時
struct timeval tv;
tv.tv_sec = 5;
tv.tv_usec = 0;
setsockopt(sockfd, sol_socket,so_rcvtimeo,&tv,sizeof(tv));
5秒接收超時檢測。
2.select也可以超時檢測
3.設定定時器(timer),捕捉sigalrm訊號
#include
#include
void handler(int sig)
int main()
alarm(0);
printf("buf = %s\n", buf);
}
網路超時檢測 setsockopt()
setsockopt 函式 1 使用setsockopt 實現超時檢測時相比其他兩種方式的特點是 只要呼叫setsockopt函式一次,函式下發所有阻塞函式均可使用,且永久有效。阻塞函式在到達設定的時間時,會被系統認定為錯誤,使阻塞函式返回值小於0 include int setsockopt in...
網路程式設計中的超時檢測
華清遠見嵌入式學院 講師。一 設定套接字接收超時 setsockopt可以設定套接字的屬性,其中包括接收超時時間。參考 如下 struct timeval tv 描述時間的結構體變數 tv.tv sec 8 tv.tv usec 0 setsockopt sockfd,sol socket,so r...
網路程式設計中的超時檢測
華清遠見嵌入式學院 講師。一 設定套接字接收超時 setsockopt可以設定套接字的屬性,其中包括接收超時時間。參考 如下 struct timeval tv 描述時間的結構體變數 tv.tv sec 8 tv.tv usec 0 setsockopt sockfd,sol socket,so r...