客户端中的经过时间不起作用TCP SOCKET

时间:2018-06-03 15:04:32

标签: c tcp timer

客户端就像这样工作

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。如何保持实际经过的时间?

1 个答案:

答案 0 :(得分:1)

clock测量CPU时间,即CPU执行代码所花费的时间。但是,您的代码主要是利用CPU:当read等待数据到达时,它被阻止(换句话说,什么都不做)。

要衡量已用时间,请使用gettimeofday代替clock