心血来潮,想自己做个下载器,类似于腾讯的游戏高速下载器。类似下图这种,这样又可以接受客户定制喽。开干!
- 解决单文件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,就防抄一下吧,虽然不是很漂亮,不过凑活够看
- 可以自定义图标、名称、图片,有了这些就差不多了
- 看效果