我用串行化的方法将一个文件分为5部分先后发送,
可是接收得到的5部分的顺序与发送的完全相反,
请高人指教!

解决方案 »

  1.   

    你可以定义一个结构 
    typedef struct
    {
    long FileOrder;//标记是哪个文件
    long Order;//标记为传送中的顺序
    long Count;//文件分割的总数
    ..........//其余校验信息
    ..........//你具体分割的内容,
    }FileTemp;
    接收时设置缓冲FileTemp temp[constant];
    将控制头部取出,对应填入temp[]中,
    比方678,345,012先后到达,检查同FileOrder的累积次数==Count,表示此文件传送完毕,
    则根据Order去除头部依次写入012,345,678当然这样写可能复杂了些,主要是出于大量传送且接收顺序未知的情况
      

  2.   

    如果仅是你所述比较简单的话,且顺序固定,那么可以采取类似栈的操作方法:
    接收678存入文本    file1
    开辟新文本,存入456,file2
    将file1内容考入file2,清空file1 
    接收012存入文本 file1 
    将file2内容考入file1,清空file2