1. 程式人生 > >linux c udp接收超時設定

linux c udp接收超時設定

在開執行緒、udp轉發、單執行緒的迴圈處理等應用中,對udp的接收超時的檢測和跳過是十分有必要的。以下是對udp socket的設定。直接加入建立的socket後面即可。
struct timeval tv;
tv.tv_sec = 5;
tv.tv_usec = 0;
if (setsockopt(fd_udpSet.server_sockfd, SOL_SOCKET, SO_RCVTIMEO,&tv,sizeof(tv)) < 0) {
perror(“Error”);
}
同樣,如設定tcp埠複用,keepalive探測特性等,使用setsockopt(set socket option)來設定,其中tv.tv_sec設定秒,tv.tv_usec設定微秒。