在接收端将  数据包头+内容 先放入链表或数组等,自己再根据包序号进行重组,但
如何放入链表或数组,CPtrArray或CPtrList怎么用呀?

解决方案 »

  1.   

    我的通常做法是定义一个CPacket类或者是类似的结构体CArray<CPacket*,CPacket*> m_arrPac;然后再这样往里加^_^CPacket* pac=new CPacket(header,pdata);
    m_arrPac.Add(pac);
      

  2.   

    hjhd0:你的意思是,在发送端计算出文件位置,在贮存时跟据文件位置写入文件。
    如包一,文件位置是500,包二文件位置300,写包一时能否写到500位置再写包二位置为300
      

  3.   

    to flyVBC(刘毅) :
    我的意思是你可以直接将数据放入到文件中续写就可以了,譬如mfc中CFile::SeekToEnd 函数
    文件包验证可以在你的协议中加入索引号,表示你当前的包是第几个包就可以了.然后将有效数据放入文件
      

  4.   

    哦,我以为楼主是在sniffer要重组数据包呢呵呵传文件的话就远远没有必要这么麻烦了呵呵看看这篇文章,讲的很详细了http://www.csdn.net/develop/article/22/22196.shtm