计算发送到接收到响应的时间差:
/*计算时间差time_sub
参数:
end,接收到的时间
begin,开始发送的时间
返回值:
使用的时间
*/
static struct timeval icmp_tvsub(struct timeval end,struct timeval begin)
{
struct timeval tv;
/*计算差值*/
tv.tv_sec = end.tv_sec - begin.tv_sec;
tv.tv_usec = end.tv_usec - begin.tv_usec;
/*如果接收时间的usec值小于发送时的usec值,从usec域借位*/
if(tv.tv_usec < 0)
{
tv.tv_sec --;
tv.tv_usec += 1000000;
}
return tv;
}