UDP的非阻塞模式(200分)

A

AsStone

Unregistered / Unconfirmed
GUEST, unregistred user!
我的系统要求对局域网内的机器进行 UDP广播,每2秒广播一次.不知怎么,收包很慢.
是不是UDP默认的是阻塞模式?如果是,在 Delphi 如何设置非阻塞模式?
还有如果用 *.*.*.255 和 for 循环点对点发送UDP包,有什么区别?
谢谢!
 
A

andrew57

Unregistered / Unconfirmed
GUEST, unregistred user!
一般blockmode默认就可以了
加一个TIdAntiFreeze试试
 
A

AsStone

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢andrew57!!
我是用 Delphi6的TNMUDP控件,都没有 blockmode属性[:(]
 
D

dedema

Unregistered / Unconfirmed
GUEST, unregistred user!
Udp本来就没有什么阻塞模式的。
 
A

AsStone

Unregistered / Unconfirmed
GUEST, unregistred user!
dedema,我也觉得是.
同样的是 UDP发包,我在一个地方可以,200个客户端发送.换了个地方,开始100个客户端发送没问题,加到200就不行了,郁.....
 
J

jfyes

Unregistered / Unconfirmed
GUEST, unregistred user!
UDP你要有组包和重发机制才行, ioctlsock()设阻塞非阻塞模式 blockmode = 1/0
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
864
DelphiTeacher的专栏
D
顶部