QQ/TM传送文件保证完整性的方法

对于经常用QQ/TM传文件的同学来说,应该没少碰到文件传输出错的情况。大部分的时候,传输出错会发生在因网络不稳定而频繁断线、续传的情况下。所以为了保证尽量不出错,所以还是来稍微了解一下QQ/TM的续传机制。

相信不少同学碰到过再次接收相同文件的时候无法续传的现象,想要续传是有一定条件的。那就是,传输是发送方主动断开的,如果是因为掉线、接收方重启或者其他种种情况发生的断开,那么很大几率无法进行续传。

此时想要恢复续传可以参照如下的方法:

1、将已经传送一部分的.tmp文件改一个其他名字
2、让发送方传送该文件,发送个几K之后,让发送方主动断开
3、删除刚刚接收到的tmp文件,并把之前的tmp文件改名为和刚刚删掉的tmp一样
4、再次让发送方传送,此时就可以续传了

现在来说说如何保证传送文件的完整性。

1、将文件用rar打包
这个是最最简单的方法,rar在解压的时候会进行crc校验,一旦出错会立刻提示用户。

2、rar打包并添加恢复记录
这个就更保险一些,一旦出错之后还可以使用rr进行修复。

3、利用BT的hash功能进行校验
如果传送的是大文件并且没有用rar打包,或者rr不足以修复,就可以使用这个方法。发送方用BT客户端(如uTorrent)给文件生成一个种子,再把种子或者磁力链接发给接收方并且开始做种。接收方用BT客户端打开种子文件或磁力链接,并把文件保存到与已接收文件相同的位置。此时BT客户端会发现文件已存在,并且开始进行hash校验。因为没有tracker服务器的参与,所以接收方需要手动添加发送方的IP和端口到用户列表里。校验完毕之后,客户端会开始从发送方那里下载损坏的部分。不过此方法对于内网同学来说会比较麻烦,需要做端口映射或者打开路由器的uPnP功能。

暂时想到的方法就是这些……

=================================我是分割线=================================

下面随便聊聊,说说为啥我会写这个……

昨天大虾给我传HOTD的BDMV,总共4个分卷,每个分卷3,906,250KB。这个就是断断续续传完的,最终导致了悲剧的后果……囧。我收到全部4个分卷之后,就开始解压。没想到的是,仅仅是双击打开第一个分卷rar就报错说“不可预料的文件末端”,出错文件是分卷2。结果我一看,分卷2的文件大小是3,906,251KB……我擦咧!?头一次遇到传着传着还传大了的情况!!我感到无比惊奇啊!!

还好这rar有5%的rr,尝试修复,结果修复不能……囧

于是问大虾要了分卷2制作的种子,进行hash,结果让我无语……UT显示下载量是80%!没错是80%!!整整少了20%的内容,5%的rr根本无能为力啊!到现在我都搞不清为啥会这样,不过幸好这80%都是从头开始连续的。于是我用FreeCommander的文件拆分功能,把这个不完整的文件按照78%和22%的体积比例给拆开。之后按照上面的恢复续传的方法,让78%的文件作为tmp文件进行续传,最后解决了问题,避免了彻底重传的悲剧……囧

所以说QQ/TM对传大文件要多加小心啊

另外还有一个比较奇怪的事情,就是QQ/TM传文件的速度非常快。怎么解释呢,就是说,用它传文件的时候,速度非常明显快于其他传输方法。我和大虾的测试结果是这样:
对传:800K左右
我从大虾FTP下载:15K左右
我从大虾HTTP下载:15K左右
大虾做种我用BT下载:10K左右……

FTP和HTTP,无论我用10线还是20线,都是一样的悲剧速度……BT更悲剧,连这俩都不如。完全无法和对传的速度相比。这该怎么解释?我能做出的猜测就是TX自己有一个路由表,使用他的IM客户端进行文件传送的时候,会通过这个路由表进行优化的路由选择,达到高速。其他的原因我是想不出来了,总不会是TX做了代理服务器进行中转吧……囧。希望有知道的同学告诉我一下m(_ _)m

大中华局域网即将到来

继BTChina之后,Popgo的BT发布页也被维护了,VeryCD也不甘寂寞的去喝茶了呢,接下来该倒霉的就是在线视频网站了

好吧,这里WOW不让玩,BT不让下,国外的网站不让去
那么我就要问了,我们上网还能干什么?
国内百姓的收入我想还支付不起国外的正版影音制品,连这么一点共享精神都要被剥夺了么?
难道以后上网除了QQ,就只能上CCAV看一些脑残的节目么?

都回老家结婚洗洗睡散了吧~