原始套接字之PING(9)

来源:互联网 发布:js怎么解析json数据 编辑:程序博客网 时间:2024/05/24 02:34

在main函数中有信号的注册:

/*截取信号SIGINT,将icmp_sigint挂接上*/

signal(SIGINT, icmp_sigint);

/*终端信号处理函数SIGINT*/static void icmp_sigint(int signo){alive = 0;/*告诉接收和发送线程结束程序*/gettimeofday(&tv_end, NULL);/*读取程序结束时间*/tv_interval = icmp_tvsub(tv_end, tv_begin);  /*计算一下总共所用时间*/return;}

main函数中最终关闭原始套接字并且显示统计结果

/*清理并打印统计结果*/
close(rawsock);
icmp_statistics();

/*打印全部ICMP发送接收统计结果*/static void icmp_statistics(void){       long time = (tv_interval.tv_sec * 1000 )+ (tv_interval.tv_usec/1000);printf("--- %s ping statistics ---\n",dest_str);/*目的IP地址*/printf("%d packets transmitted, %d received, %d%% packet loss, time %ldms\n",packet_send,/*发送*/packet_recv,  /*接收*/(packet_send-packet_recv)*100/packet_send, /*丢失百分比*/time); /*时间*/}



0 0
原创粉丝点击