当前位置: 技术问答>linux和unix
linux下time函数问题请教高手
来源: 互联网 发布时间:2016-09-19
本文导语: time_t time( time_t *time ); 我们开发一个网络底层通讯模块,c/s结构,server定时向client要求心跳消息,server定时检测有没有收到client的心跳消息,用time函数得到时间差,这个是在一个线程里做的 在win32下没有问题 在...
time_t time( time_t *time );
我们开发一个网络底层通讯模块,c/s结构,server定时向client要求心跳消息,server定时检测有没有收到client的心跳消息,用time函数得到时间差,这个是在一个线程里做的
在win32下没有问题
在linux 下出现问题,time函数偶尔会返回很大的值,与当前时间不符,这样server就会判定客户端连接超时
但是我们单独写测试time函数又没问题,汗!!
请教各位大侠,哪里可能会出问题,影响time函数!!!
我们开发一个网络底层通讯模块,c/s结构,server定时向client要求心跳消息,server定时检测有没有收到client的心跳消息,用time函数得到时间差,这个是在一个线程里做的
在win32下没有问题
在linux 下出现问题,time函数偶尔会返回很大的值,与当前时间不符,这样server就会判定客户端连接超时
但是我们单独写测试time函数又没问题,汗!!
请教各位大侠,哪里可能会出问题,影响time函数!!!
|
有多线程调用吗?gettimeofday跟time貌似都不是线程安全吧。
再看看你系统时间是正常吧。
再看看你系统时间是正常吧。
|
你检查一下,你获取time()变量是不是有符号的?是不是time()返回了-1
|
你用的是linux虚拟机么?
|
学习来了
|
time是线程安全的。放心使用。返回的是一个系统秒数。查查其它问题。
|
UTC时间吗?