Click here to Skip to main content
15,886,362 members
Articles / Multimedia / GDI+

MyDownloader: A Multi-thread C# Segmented Download Manager

Rate me:
Please Sign up or sign in to vote.
4.95/5 (418 votes)
12 Feb 2008CPOL10 min read 2.1M   124.7K   1.3K  
Sample application that manages multiple segmented downloads and supports HTTP, FTP and YouTube video downloads
* limite da rate 
* melhorar calculo de rate

* popup notify icon
* (OK) janela de download de video
  * (OK) for�ar o protocol provider
  * (OK) funcionar
  
* autenticacao na URL ftp
* rever tratamento de erros, pois nem todas as excecoes estao sendo capturas

* http://keepvid.com/
* Support for GVideo
* Support for YouTube
* Support for Putfile
* Support for Metacafe
* Support for Break - esse site tb prove o formato WMV

* Melhorar na parte inferior colocar uma tabControl: Segments | Log

* jobs/scheduler:
  * numero maximo de jobs
  * se mandou startar, vai embora
  * se download terminou e tem algum na fila, come�a o primeiro
  * se pause, nao come�a outro (caso o numero de downloads estaja < max jobs) nao faz nada
  
* Testar HTTPs Downloader
* download d arquivos q o servidor nao diz o tamanho
* Tela de download batch suportar autentication
* urls alternativas
	* cada URL pode ser de um tipo diferente
	* validar se o arquivo no mirror tem o mesmo tamanho
* Qnd retoma um download pausado nao ta fazendo retry
* melhorar integracao com parte do marco (chamar mtas imagems)


* melhorar o refresh de UI
* se o arquivo no servidor mudou?  
* ter diretorio comum para salvar
  * mudar tela de new donwload
  * mudar jeito que processa parametros de entrada  
* performance para salvar a lista de downloads (xml serializer)
* melhorar uso de CPU qnd a lista fica grande
* tela de batch download 
* exibir erro Downloader.LastError na UI
* executar arquivo do concluir
* resetar o contador de try qnd recome�a o download / segmento
* se tenta retomar arquivo que nao suporta ranges
* se falhar ao obter o file info deixar como erro e tentar + tarde
* calcular tempo que download consuminiu no total (added date)
* about box
  * mostrar plug'in
  * link para site
* se um segmento falhar tentar + tarde (configurado)
* ordenacao da lista na UI
* subir balao no relogio do windows qnd download terminar
* sons para notificar eventos
* se fechou o programa qnd esta em needtoPrepare ou preparing da erro na volta 
pois nesse caso ainda nao gerou os segmentos
* evitar que seja aberta 1 conexao pra pegar o info e depois seja despresada
* download de YouTUbe
* se um segmento terminar, quebrar o que esta rodando em 2
* salvar estados dos downloads para reiniciar a aplicacao
* configuracao visual do proxy
* integracao com anti-virus
* formatar os bytes em casas decimais para exibir no grid
* download via FTP
* download via HTTP
* download segmentado
* pause e restart
* tornar o download http e ftp uma extensions 

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Brazil Brazil
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions