0.前言
这是一个解决篇Linux C语言怎么实现通过socket发送一秒数据,上次想要实现做一秒的事情没有写出来,这次解决掉。先推荐一部电影《猩球崛起》三部曲。
1.Linux下的sleep函数。
这个函数的确可以起到延时的作用,但是他会把整个进程挂起,所以不能实现我的效果。
2.定时想要的时间
最近看了一个,虽然不是多准确,上篇博客就说了,但是也算有个实现的小途径。
先看下效果。
原理很简单,获取当前系统时间,减去第一次获取时间,一秒后停止。
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include <time.h>
#include <unistd.h>
int main(void)
{
time_t nowtime;
time(&nowtime);
printf("now time is %s\t\n",ctime(&nowtime));
while(1)
{
time_t lasttime;
time(&lasttime);
if(lasttime-nowtime==1)
{
printf("last time is %s\t\n",ctime(&lasttime));
printf("1s is!\t\n");
break;
}
}
}
这样我们就可以利用这个时间差做我们想做的事情。
3.不足
时间不精确,至于多不精确,俺也不知道。你看这个现象,我定一个变量自增一秒。
这差距吓人。所以,只适合粗略的时间定时。
4.总结
继续学习。