我只是有些好奇,为什么网络吸血鬼之类的软件只用一个下载线程,而速度已与网络(100分)

  • 主题发起人 主题发起人 taka
  • 开始时间 开始时间
哈!wuwuwu!我今天从信箱里收到结束讨论的mail,才知道这个问题还有人回答。
所以这才来看看。

温柔一刀说的不对,我不知道你如何做的测试,但你的结果是错的。哈哈……
netVampire的确在单线程处理时优于其它下载软件。其实说来并不神秘,它的核心
算法主要用了“最短路由搜索算法”,也就是在源和目的地址中搜索最短和最快的
网络路径,然后下载。另外,它还重点地处理了不直持断点续传的情况下tcp/ip连
接的状态保存,减少断线的发生概率。

这个问题我们公司网络开发部讨论过很多次了。另外,国外的一些技术论坛上有相
关的资料。但我已经记不得在哪儿了。
wjiachun你的分给错了,不过我还是下次自个儿向一刀讨吧,比如见面让请他吃板
刀面一类的。黑黑黑黑……
 
谢谢 aimingoo,如果你能找到相应资料的网址,或者寄给我一份的话,
我愿出“双倍价钱”, :-)
但是有几个问题,路由是应用软件可以选择的吗?另外,我确实发现有站点
netvampire比netants慢(单线程),并且屡试不爽,因此就算有优化,
也不是包打天下吧?

至于分数,我已经一在恳请老猫有价值的问题不要着急结束,没有结论的问题,
更不要给我分数,可惜老猫太热心、善良了,还有一点疯狂 :-)

另外,谁让你不继续参与讨论呢?本来这样有意义的问题是不该这么早结束的。
 
让我找找先,不保证有的。

^-^
 
我觉得也是,amingoo你说的好象有点玄,能不能再详细点。终端又怎么能控制数据包的
路由呢?用IPV6 肯定是可以的,在IPV4里路由器如何听你指挥?
状态保存是不是把TCP重传请求的次数增加,把超时结束连接的时延值增加?按照工作原理
来讲这样是可以的,这样可以做一个程序只要没有把数据DOWN下来,就永远不停地向服务器
发请求。但是我觉得同样一个线程,速度是无法控制的,除非是有优先级。
 
“终端又怎么能控制数据包的路由呢?”
这个问题倒是不复杂,在IP包的的报文里,可以加入路由控制。在TCP/IP协议里,你可以
规定一个IP包所经过的路由。不过这段代码得自己写。有关的资料你可以看看《用TCP/IP
进行国际互连·第一卷》,是DOUGLAS E.COMER写的,林瑶等人译的,电子工业出版社98年
出了第三版。
实现的难点在IP路由考查,而不在规定通过的路由。

状态保存主要是指请求数增大和延时值增加。这占倒是这样的。另外也要重新实现socket。
用winSock32和WinInet效率会差一些。
 
关注...
俺也要知道有关网络路由选择的详细情况
 
aimingoo是个高人
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部