要保证文件发到,我现在一个一个确认,太慢
准备一次发一百个
不知那位有更好的办法

解决方案 »

  1.   

    自己模拟一个滑动窗口的机制
    在 UDP 包中增加一个序号字段
      

  2.   

    用一个数组来标记也可以。根据文件数量,动态创建一个数组,发送一个统计一个,待发送完毕,直接把数组delete即可。
      

  3.   

    把文件分片,每256K为一片,再把每个256K分成小片如1452,可以一次发送一个小片,循环发送把256K发送完毕。对方记录本次的256K有哪些小片没有收到,对丢失的小分片再次请求,从而达到把256K完全传输的目的。接收完毕把256K数据写入磁盘。这样做可以避免在接到数据就写磁盘从而减少磁盘寿命,另外效率也会有所提高。 当然256K也可以增加,看原文件有多大,发送之前客户端之间要协商。
      

  4.   

    楼主,我第一次做UDP网络程序,可否给我看看你的程序构建框架?
    [email protected]