timeval结构体的使用
来源:互联网 发布:sql 分组求和 编辑:程序博客网 时间:2024/06/10 22:15
今天在在学习过程中遇到一个结构体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结构体的使用
- struct timeval结构体
- struct timeval结构体
- struct timeval结构体
- struct timeval结构体
- struct timeval结构体
- timeval结构体
- struct timeval结构体
- struct timeval结构体
- struct timeval结构体
- struct timeval结构体
- struct timeval结构体说明
- linux 中 timeval结构体
- linux 中 timeval结构体
- linux 中 timeval结构体
- linux 中 timeval结构体
- Linux struct timeval结构体
- struct timeval结构体 以及 gettimeofday()函数
- Ruby on Rails Tutorial 学习笔记 --第九章 更新、显示和删除用户
- 更改Eclipse里的Classpath Variables M2_REPO
- Ruby on Rails Tutorial 学习笔记 --第十章 用户的微博
- Mac下eclipse安装SVN插件
- 【cocos2d-x制作别踩白块儿】第六期:游戏交互实现
- timeval结构体的使用
- hdu4802
- Ruby on Rails Tutorial 学习笔记 --第十一章关注用户
- 奇异产品?
- 用stream读文件
- 动态链接库与静态链接库
- POJ 3928 Ping pong
- 使用CSDN的Git进行托管项目和团队开发
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解