客户端就像这样工作
clock_t s, f;
while(TRUE){
write
s_time = clock()
read
f_time = clock();
double client_time = (double)(f_time - s_time) / CLOCKS_PER_SEC;
fprintf(stderr, "ct = %lf\n", client_time);
}
在我向服务器发送消息后,计时器启动,当客户端从服务器读取消息时,计时器停止。在服务器中,需要5到10秒才能回复客户端。这是我的问题。客户端中的计时器仅显示非常短的时间。大约只有0.0000085。如何保持实际经过的时间?
答案 0 :(得分:1)
clock
测量CPU时间,即CPU执行代码所花费的时间。但是,您的代码主要是不利用CPU:当read
等待数据到达时,它被阻止(换句话说,什么都不做)。
要衡量已用时间,请使用gettimeofday
代替clock
。