[英]Elapsed time in client does not work TCP SOCKET
客户端像这样工作
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。 如何保持实际经过时间?
clock
测量CPU时间,即CPU执行代码所花费的时间。 但是,您的代码大部分没有使用CPU:在read
等待数据到达时,它被阻止(换句话说,什么也不做)。
要测量经过的墙壁时间,请使用gettimeofday
而不是clock
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.