Este projeto propõe a implementação de um sistema Peer-to-Peer (P2P) simplificado com funcionalidades de chat, busca e compartilhamento de arquivos, além de transferências otimizadas e um mecanismo de incentivo para peers colaborativos. Aqui está um resumo com foco na implementação do tracker centralizado e suas funções no sistema:
-
Chat entre peers: Comunicação direta entre dois peers.
-
Busca de arquivos: Permite que os peers consultem e encontrem arquivos na rede, com base em metadados.
-
Transferência de arquivos: Envio e recebimento de arquivos diretamente entre peers, usando múltiplas conexões paralelas (e.g., N conexões simultâneas para melhorar a taxa de download).
-
Tracker centralizado: Um servidor responsável por gerenciar os peers ativos e ajudar os clientes a se descobrirem.
-
Interface básica: Uma interface para interação com essas funcionalidades.
-
Execute o tracker pelo comando:
python3 tracker.py
Se no terminal aparecer uma mensagem:
Tracker escutando em 0.0.0.0:5000
O trecker foi iniciado com sucesso.
-
Em outro terminal use um cliente
telnetpara simular peers:telnet localhost 5000
Uma mensagem de conecxão ira aparecer no trecker.
-
Para testar o tracker tente utilizar os comandos
REGISTER,ADD_FILEeSEARCHconforme os exemplos a baixo:
-
REGISTER:
REGISTER <peer_id>
-
ADD_FILE:
ADD_FILE <peer_id>, <arquivo>
-
SEARCH:
SEARCH <arquivo>