void send_packet()
{ int packetsize;
while( nsend<MAX_NO_PACKETS)
{ nsend++;
packetsize=pack(nsend); /*設置ICMP報頭*/
if( sendto(sockfd,sendpacket,packetsize,0,
(struct sockaddr *)&dest_addr,sizeof(dest_addr) )<0 )
{ perror("sendto error");
continue;
}
sleep(1); /*每隔一秒發送一個ICMP報文*/
}
}
/*接收所有ICMP報文*/
void recv_packet()
{ int n,fromlen;
extern int errno;
signal(SIGALRM,statistics);
fromlen=sizeof(from);
while( nreceived<nsend)
{ alarm(MAX_WAIT_TIME);
文章來源于領測軟件測試網 http://www.kjueaiud.com/