今天在在学习过程中遇到一个结构体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!

在debian linux的man页中对gettimeofday函数的说明中,有这样一个说明:

DESCRIPTION
    The functions gettimeofday and settimeofday can get and set the time as
    well as a timezone. The tv argument is a timeval struct, as specified
    in <sys/time.h>:

struct timeval {
          time_t       tv_sec;     /* seconds */
          suseconds_t   tv_usec; /* microseconds */
    };

microsecond 是微秒的意思,简写为usec

毫秒的英语单词是millisecond,简写为msec

#include <stdio.h>
#include <sys/time.h>
#include <time.h>

int main(int argc,char * argv[])
{

struct timeval tv;
    while(1)
  {
          gettimeofday(&tv,NULL);
          printf("time %u:%u\n",tv.tv_sec,tv.tv_usec);
          sleep(2);
     }
    return 0;
}

timeval结构体的使用相关推荐

  1. linux 中 timeval结构体 - Neddy11 - 博客园

    linux 中 timeval结构体 - Neddy11 - 博客园 linux 中 timeval结构体 网上很多人写到,timeval结构解释错误 ************************ ...

  2. struct timeval结构体

    struct timeval结构体在time.h中的定义为: struct timeval { __time_t tv_sec;        /* Seconds. */ __suseconds_t ...

  3. struct timeval结构体 以及 gettimeofday()函数

    一.struct timeval结构体 struct timeval结构体在time.h中的定义为: struct timeval { __time_t tv_sec;        /* Secon ...

  4. struct timeval结构体 以及 gettimeofday()函数、struct timespec结构体

    struct timeval结构体 struct timeval结构体在time.h中的定义为: struct timeval { __time_t tv_sec; /* Seconds. */ __ ...

  5. linux系统中struct timeval结构体、struct timezone结构体以及gettimeofday函数

    格林尼治时间.协调世界时 间.世界时间.日光节约时间以及时区等介绍: 格林尼治时间(Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台当地的标准时间,因为本初子午 ...

  6. struct timeval 结构体使用浅析

    时间结构体struct timeval的使用 #include <sys/time.h> 该头文件的位置在:/usr/include/x86_64-linux-gnu/sys/time.h ...

  7. timeval结构体的应用

    timeval结构体的简单应用 timeval定义 作为计时器 timeval定义 timeval是Linux系统中定义的用于保存时间的结构体,在time.h中的定义为: struct timeval ...

  8. linux 中 timeval结构体

    网上很多人写到,timeval结构解释错误 ******************************************************************* 问题如下: 在deb ...

  9. linux timeval,linux 中 timeval结构体

    网上很多人写到,timeval结构解释错误 ******************************************************************* 问题如下: 在deb ...

最新文章

  1. in_array 判断问题的疑惑解决。
  2. python400教程全集免费-千锋出品全套python视频教程,400大全集,你了解吗?
  3. STM32F4启动流程分析
  4. 强大的Mockito测试框架(转)
  5. UINavigationController扩展
  6. 微信小程序禁止刷新之后苹果端还可以下拉的问题
  7. Idea打可执行jar包
  8. 修复./mysql/proc
  9. medoo update mysql_Medoo Update的使用:修改更新数据
  10. 探究Redis两种持久化方式下的数据恢复
  11. WORD给文档设置密码保护?
  12. Shrink space合并表的碎片
  13. Activity中finish()和onDestroy()的区别
  14. Ext.data.Store 获取Json数据只有一行,而且是最后一行
  15. 判断日期数组是否连续
  16. vue中使用(瀑布流)vue-waterfall-easy插件
  17. 万字长文 | 面向k8s编程,如何写一个Operator
  18. T530-I7重装win10
  19. FortiGate命令行
  20. 用python画篮球场_篮球场地最新标准尺寸

热门文章

  1. netty之微信-群聊的发起与通知(十八)
  2. Java-8-Optional类
  3. Worse is Better
  4. 计算机按键被粘了一样,电脑总是自动重复按键盘上的一个键 经验告诉你该这样...
  5. ViewDragHelper实战,实现滑动解锁
  6. JavaWeb web.xml配置详解
  7. Login 和 Logout
  8. 高级宏观经济学公式整理
  9. 什么软件可以代替sc防火墙_车玻璃水的成份是什么?普通肥皂水和清水可以代替吗?...
  10. 多源异构航班航迹数据流实时融合方法研究