为什么udp向未开机的ip发送数据报时,发送时间特别长?(300分)

  • 主题发起人 主题发起人 frankwood
  • 开始时间 开始时间
F

frankwood

Unregistered / Unconfirmed
GUEST, unregistred user!
利用udp发送大于mtu的数据报到不同网段的未开机的ip,发送速度特别慢,要大于1秒。
为什么?
 
很正常,低层的UDP协议栈要分包发,而且发送失败的话,远程的网关要返回ICMP错误
信息,所以时间自然就下降下来,建议UDP没个包不要超过500字节
 
我试过,速度没有你说的慢,我做的是远程网络唤醒!
 
利用多线成
 
to张无忌:udp本身是无连接的服务,我能够在setsocketopt中设置不理会imcp不可达错
误么?因为这个延迟太大了,我测试大概有2-3秒,实在无法忍受。

to爱元元的哥哥:我不知道你是在什么条件下测的,我的前提是数据报很大,比如超过
1500字节;发送目标在不同子网,并且没有开机。

to luyl:这与线程多少无关,我们做的本身就是多线程的:)

 
你如果是用Indy 做效果很不好,如果直接直接用API控制就要好很多,
我用Indy给没有开端口的机器发数据包,他要报错,看来你还是换个
控件或者用我写的哪个控件,应该可以避免这个问题
 
3xs every one
 
后退
顶部