Um serviço peer-to-peer de transferência de ficheiros permite aos clientes transferir dados de forma mais eficiente de vários nós (seeders) transferindo partes diferentes de pacotes em paralelo.
Este repositório contém:
- Código para um servidor que vai guardar e coordenar tudo o que acontece na rede
- Aplicação que funciona como cliente, esta vai ser a aplicação que os utilizadores vão utilizar
- Topologia para simular uma rede onde o servidor e os clientes são testados
- Vários ficheiros aleatórios sem significado para simular as transferências (podem ser adicionados outros sem problemas)
- A topologia possui um servidor, um router e alguns nós que funcionam como clientes.
- A aplicação do servidor deve ser executada no servidor na topologia e a aplicação do cliente nos nós. Este servidor consegue lidar com conexões de vários clientes ao mesmo tempo.
- Os clientes tem uma pasta que vai servir como parta partilhada. Todos os ficheiros dessa pasta são públicos na rede.
- As instruções mais detalhadas de como executar o código encontram-se aqui.
- Para fazer o download de um ficheiro basta selecionar a opção de download e escrever o nome do ficheiro que pretende transferir. Exemplo:
ficheiro.txt
- O cliente pode fazer download de ficheiros de outros clientes em paralelo (dependendo da quantidade de clientes que possuem o ficheiro pedido).
- Da mesma maneira outros clientes podem fazer download de blocos de ficheiros que estão na pasta partilhada. Esta pasta partilhada é enviada para o programa na execução como argumento.
- É possível também consultar os ficheiros que se encontram a ser partilhados naquele momento diretamente no programa, bem como eliminar ficheiros.
Trabalho realizado por Pedro Silva, António Silva e Diogo Barros.