O projeto se trata de um transferidor de arquivos Peer-to-Peer utilizando o protocolo UDP para comunicação, contendo há a existência de um servidor responsável por listar os arquivos disponíveis e indiciar o proprietário de determinado arquivo quando requisitado.
Ele foi desenvolvido na linguagem C# utilizando o framework Lidgren.Network para o controle da rede e é destinado apenas para Windows.
Transmissão | Descrição | Pacote |
---|---|---|
Cliente -> Servidor | Envia o nome de todos os arquivos que estão no diretório em que o programa está sendo executado | ClientPackets.Join |
Servidor -> Cliente | Envia todos os arquivos disponíveis para serem baixados | ServerPackets.Files |
Cliente -> Servidor | Requisita o proprietário de um determinado arquivo | ClientPackets.RequestOwner |
Servidor -> Cliente | Envia o endereço de rede do proprietário do arquivo | ServerPackets.FileOwner |
Cliente -> Proprietário | Requisita o download do arquivo | PeerPackets.DownloadFile |
Proprietário -> Cliente | Envia algumas informações úteis do arquivo | PeerPackets.FileData |
Proprietário -> Cliente | Envia diversos fragmentos do arquivo | PeerPackets.File |
O projeto já vem compilado na pasta /Build, entretanto, caso haja necessidade, pode-se compilar o projeto normalmente utilizando o Visual Studio.
- Certifique-se que você possui o .NET Framework 4.8 instalado em sua máquina e a DLL Lidgren.Network no mesmo diretório do programa.
- Execute primeiramente o servidor.
- Então, execute um ou mais clientes.
- Selecione um arquivo e faça download (: