歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> UNIX編程中timeval結構體的使用

UNIX編程中timeval結構體的使用

日期:2017/3/1 10:11:39   编辑:Linux編程

今天在在學習過程中遇到一個結構體timeval,不是很了解它用法,現在簡單的總結一下:

struct timeval
{
time_t tv_sec; /*seconds, 秒*/

SUSEconds tv_usec; /*microseconds, 微秒*/

}

其實從結構體的定義不難看出,這個結構體定義了一個時間的表示方法,這個結構體最為重要的作用就是在套接字選項接口setsockopt(int sockfd, int level, int option, const void *val, socklen_t len)控制中的使用當需要控制利用套接字進行收發數據的時間延遲時,傳遞的一個參數!

struct timeval tv = {1, 0};


setsockopt(int sockfd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));

setsockopt(int sockfd,SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));

這樣就把我們用recieve和send函數進行數據通信時,時間延遲定義為了1s!

Copyright © Linux教程網 All Rights Reserved