I iwalk Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-06 #1 我用IdIcmpClient做一个多线程ping工具,每个线程ping一个主机5次,现在的问题是,若只启动一个线程的话是正常的,但是在同时ping多个地址的时候,无法正常判断返回包,即使判断FromIpAddress属性好像也不行,哪位大侠做过这样的程序,请帮帮忙,不胜感激。
我用IdIcmpClient做一个多线程ping工具,每个线程ping一个主机5次,现在的问题是,若只启动一个线程的话是正常的,但是在同时ping多个地址的时候,无法正常判断返回包,即使判断FromIpAddress属性好像也不行,哪位大侠做过这样的程序,请帮帮忙,不胜感激。
I iwalk Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-06 #4 leaber:这个问题我已经花了太多时间,能否给出部分源码,谢谢。iwalk@sohu.com
L leaber Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-06 #5 代码就不贴了,只说思路,开一个线程专门用来接收回显响应就可以了,其他的线程只完成ECHO请求发送就可以了。你需要自己封ICMP包,计算一下校验就可以了。
I iwalk Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-07 #8 再者,接收线程如何判断接收包或者掉包属于哪个线程的呢?
J jey Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-08 #9 我使用IdIcmpClient加线程做了个工具. 用于代替dos下ping. 程序界面http://202.130.158.81:1980/NetTest界面.jpg
L lisongmagic Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-09 #10 既然选择了多线程就不要怕麻烦, 设计好自己的ICMP包,必要时添标志. "假设两个线程ping同一个主机如何区分呢?" 那就再添加个有关线程id的标志...