我想做一个断点续传的程序,可是有一个问题不太好处理
当续传一个大文件的时候,一般都是分成几块并进行标号,可是即使一块再小也不能保证不会出现该块数据是完整的到达接收方的,比如出现断电现象,我想知道如何处理这样的问题,给个思路就可以了,谢谢

解决方案 »

  1.   

    一般都是分成几块并进行标号
    ------------------------------
    如果文件是按顺序传输的话 那文件大小可以直接从本地存放的文件获取
    如果分成几块同时传输,那就把块尽可能的分小一些,并把没传输完毕的块记录下来 等程序再次启动需要重传时可以把没传输完的块再从头传输
      

  2.   

    用另一个文件记录哪些块已经传输完成了(最好用位图的方式),每下载完一块(或者几块)就写一次这个文件,如果断电,读此文件然后下载所有未完成的块,这样会浪费一部分已经下好的数据(但块分得小的话浪费一点是无所谓的),但可以保证完整性