|
|
一个多线程的PING程序,想同时PING多个主机.是这么考虑的:创建N个线程(一个主机对应一个线程)发送ICMP请求信息 (创建N个线程是考虑到要用每个线程的线程号填充ICMP包的ID域,以便被PING主机返回回应信息后对照ID号看是回应哪个线程),把每个线程的线程号存在一个全局数组里,然后再创建一个线程专门用来接收回应信息,根据接收信息的ID来判断是哪一台机器的回应.
本想在创建N个发送线程后在主函数里接收信息,又怕被PING 主机较多时,N台主机发送信息还没发送结束,回应包就来了造成包丢失.
不知道这样的考虑是否可行?是不是还有更好的方法?请大家赐教! |
|