如何对一个无类型的数据报进行分组与重组(200分)

  • 主题发起人 主题发起人 eire
  • 开始时间 开始时间
看错问题...你的是UDP...<br>你这个问题只能自己每个包加索引了.发送方做队列编码.<br>不过一来一回这种校验效率是非常低的.你可以学一下QQ.QQ传输文件和图片都是同一算法,开始他们打算自己写一个协议.后来开会讨论,最后采用李工的方案.就是把TCP下的窗口滑动机制移植到UDP下.现在速度也非常快.<br>同一网速对比:窗口滑动校验:60K/S<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 一来一回应答校验:3K/S<br>有人搞了个开源的项目.就是把TCP很多校验移植到UDP,这样一来上层调用接口不变,但无须自己做校验.你可以找来看看.不过是C语言写的.但SOCKET都是一样的.
 
jingtao大侠:<br> &nbsp;感谢你的回答.<br> &nbsp;我也找过关于DELPHI下实现TCP的窗口滑动机制,没找到,连C的代码也不完整.能否传我一份,或者给我一个下载的地址.
 
每次发送包弄小点
 
udt.sourceforge.net
 
这个我有了,还有其他的资料吗?
 
不明白你的题目到底是什么意思.<br>&quot;接收到一个pointer 类型数据报&quot;----如果是用UDP接收来的数据包,还会分什么类型的?数据包就是数据包了.如果是说发送端&quot;这个pData是从VC调用方传来的数据&quot;,那么你的数据包是在发送端分割好并进行了编号的,那么接收端发现掉包,就将丢失包的编号发送到发送端,发送端接收到编号后,可以通过两个办法来定位了.1.发送端在发送分割数据发送的时候,对每个包进行备份[:D][:D]2.根据编号顺序算出指针(因为你每个包的大小应该是固定一致的),
 
1、用阻塞模式传输就不会出现些问题。我用这种方法就实现了局域网上传输文件 文件多大都行!看看我的软件 它就实现了局域网上传文件,聊天等功能 http://www2.skycn.com/soft/15791.html
 
已完成了.庆贺
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部