LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 896|回复: 2

多线程PING的软件架构问题

[复制链接]
发表于 2005-6-22 01:16:13 | 显示全部楼层 |阅读模式
一个多线程的PING程序,想同时PING多个主机.是这么考虑的:创建N个线程(一个主机对应一个线程)发送ICMP请求信息 (创建N个线程是考虑到要用每个线程的线程号填充ICMP包的ID域,以便被PING主机返回回应信息后对照ID号看是回应哪个线程),把每个线程的线程号存在一个全局数组里,然后再创建一个线程专门用来接收回应信息,根据接收信息的ID来判断是哪一台机器的回应.
本想在创建N个发送线程后在主函数里接收信息,又怕被PING 主机较多时,N台主机发送信息还没发送结束,回应包就来了造成包丢失.
不知道这样的考虑是否可行?是不是还有更好的方法?请大家赐教!
发表于 2005-6-22 10:56:14 | 显示全部楼层
是不是要交作业了,在好几个论坛都看到类似的贴子。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-22 11:07:38 | 显示全部楼层
是呀是呀,别光在那里笑啊,给个建议啊. :-(
我想N个线程都发送4个ICMP信息,其间间隔一秒,然后每个线程都调用接收函数,问题是我我发送完4个线程需要4秒然后才接收,这样会不会造成回应包丢失啊?
请大家指教啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表