心血来潮,想自己做个下载器,类似于腾讯的游戏高速下载器。类似下图这种,这样又可以接受客户定制喽。开干!

- 解决单文件exe问题
这类程序都会利用第三方的下载插件来提升下载速度,但是就会出现多个文件的问题,给人体验感就不好了。利用ILMerge将三方的插件都合并起来,顺利解决。
- 实现多线程满速下载(百兆宽带,最高可达10兆每秒,几乎是满速率了,也需要看服务器带宽)
下载器速度是第一,不能像腾讯一样搞个vip会员加速,所以有一套完善的下载方案很重要。贴上部分代码
public void OutMstg(DownMsg Msg)
{
switch (Msg.Tag)
{
case DownStatus.Start:
break;
case DownStatus.DownLoad:
progress1.Value = (float)(Msg.Progress / 100.00);
lab_speed.Text = Msg.SpeedInfo + "/秒";
lab_total.Text = Msg.SizeInfo + " / " + Msg.LengthInfo;
this.Text = jTitle1.Title2 = title + " 剩余" + Msg.SurplusInfo;
break;
case DownStatus.End:
this.Text = jTitle1.Title2 = title + " 下载完成";
progress1.Value = 100;
lab_speed.Text = "";
lab_total.Text = "";
Process.Start(Msg.FileName);
break;
}
}
- 关于ui,就防抄一下吧,虽然不是很漂亮,不过凑活够看
- 可以自定义图标、名称、图片,有了这些就差不多了
- 看效果






自制下载器,速度媲美IDM
1820

被折叠的 条评论
为什么被折叠?



