程序的大概功能是这样的,在按下一个按钮后,取一次系统时间,然后将系统时间发送给服务器,然后服务器,收到信息后,将服务器时间发送回来,然后软件在接受到信息后,将系统当时的时间在获取,暂且将第一次的时间命名为T1,第二次为T4,结果在运行时,要么是一毫秒都不差,要么就是T4比T1小一秒,这有这么两种情况出现。
先根据现象分析问题:
一、T1和T4数值是一样的
T4事件发生在T1之后,那么正确的情况是T4总是比T1大的,即使是网络在好,即使是同一级网络,网络传输也是有延时的,但是有些时候上是一样的。所以这样的数据也是不真实的,因为我ping过服务器,网络延时是25ms。
二、T4比T1从数值上小1s
这种情况是我最想不通的,后来我给程序里用多线程取系统时间,也就是取T1为一个线程,取T4为一个线程。即使做成这样,问题依然是以上两种情况。
以下是具体的代码
QDateTime m_currentDateTime;
m_currentDateTime = m_currentDateTime.currentDateTime();
难道这样的代码取系统时间不对吗??大家以前也遇到过同样的问题的话,就帮我分析以下,谢谢