急!急!急!UDP中接包&解包想用多线程,怎么实现?(200分)

  • 主题发起人 主题发起人 chriszx
  • 开始时间 开始时间
C

chriszx

Unregistered / Unconfirmed
GUEST, unregistred user!
用delphi的udp控件如何实现多线程接包&解包,
即在udp的DataReceived事件中采用多线程处理!
 
每接到一个包:
分配一片新内存 CopyMemory 传入数据
启动新线程,传入刚才分配内存首址
退出

不过肯定问题很多,因为 UDP 是面向无联接的,不可靠的协议:(
 
那么麻烦啊?说实话,你(beta)所说的技术我还没有用过,能不能给我个例子?
 
怎么没人知道啊?我很急啊!请大家帮帮我!
 
UDP也并不是那么不可靠,速度快是他的优势,
UDP数据报内部有校验和,数据的内容是不会错的,
就是可能会丢包或者包的顺序错乱
 
这个我知道啊,但程序已经完成了,问题也出来了,所以没办法,只能想办法解决啊。所以
我只能在原有的基础上修改。我是这么想的,数据报是先进现出的,我想用多线程实现处理
包,也就是一个线程处理第n个包,另一个线程就马上处理缓冲去中的第n+1个包。依此类推
但udp,我不知道缓冲中的包有几个。。。也就不知道怎么进行n+1个包的处理。[:(]
 
没有人回答问题吗?
没有人知道吗?
那麻烦斑竹把帖子结了。谢谢[:(]
 
我也正在做这个方面的东西
如果可以的话一起研究
qq:170420755
E-mail:turan2003_27@hotmail.com
 
可以的!只要加上包顺序即可!
 
UDP是可以多线程同时RecvFrom的[:D]
 
后退
顶部