什么样的原因,会使一个游戏官方在客户端下载器中使用“下载无数小文件,每下载一个文件就创建一次连接”的方式?

2016-12-13 00:29:34 +08:00
 coolcfan

用某网游下载器下载客户端,因为直连太慢,用 Proxifier 套了代理。于是从 Proxifier 里看到大量这样的日志(隐藏了游戏信息):

[12.13 00:19:41] patcher.exe - gameserver.com:80 open through proxy 127.0.0.1:1080 SOCKS5 [12.13 00:19:43] patcher.exe - gameserver.com:80 close, 97 bytes sent, 8406978 bytes (8.01 MB) received, lifetime 00:02

可以看到这游戏应该是直接通过 HTTP 方式从服务器下载文件。但是 Proxifier 里面这样一条日志,是否代表一次 TCP 连接的创建和销毁?如果是,就是说这个下载器会一个一个地下载这个游戏的文件,而每下载一个文件就要创建一次连接。这游戏大约 40GB ,每个文件差不多几百 KB 到十几 MB 不等。

那么游戏官方是出于什么原因采取这样的方式来下载文件呢?对这样的下载方式,复用连接会不会更好呢?

2071 次点击
所在节点    程序员
6 条回复
hanxiV2EX
2016-12-13 00:50:59 +08:00
Cocos 的更新默认方案就是这种。太扯淡了
yangyaofei
2016-12-13 01:14:16 +08:00
会不会有 TCP 协议之上或者之下的复用(猜的)
doubleflower
2016-12-13 07:18:27 +08:00
都几兆了,复不复用也没什么大关系了吧
williamx
2016-12-13 08:47:56 +08:00
无他,唯懒耳。
gecco
2016-12-13 11:14:36 +08:00
第一个问题,下载某个小文件出错了,重下这个小文件就行了。
第二个问题,楼上,复不复用也没什么大关系了, 40GB ,网不是上天的速度,都够你下一会的。
winglight2016
2016-12-13 13:54:02 +08:00
几百 KB 到十几 MB 不等——这个大小放在手机端,不算小文件了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/327190

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX