Este projeto tem como objetivo transferir arquivos de um dispositivo (computador ou smartphone Android) para outro. Funciona apenas se os dois dispositivos estiverem na mesma rede local. Se um dos dispositivos for um smartphone Android, você poderá compartilhar dados com ele e conectar o outro dispositivo aos dados do smartphone.
Você pode baixar os aplicativos aqui ou aqui
Esta é a biblioteca que construí, usada por todos os aplicativos (Android, linha de comando e Desktop). É por causa desta biblioteca que também podemos compartilhar arquivos entre Android e desktop.
Este é o aplicativo Android que realiza compartilhamento de arquivos P2P
O aplicativo desktop foi desenvolvido com JavaFX e Spring Boot (para injeção de dependência). Foi desenvolvido em Java 16.
Este projeto só funciona se os dois dispositivos estiverem na mesma rede local. Isto permite que os pares se comuniquem entre eles, sem qualquer servidor intermediário. Seus dados vão do remetente diretamente para o destinatário
O receptor pode detectar pares de envio automaticamente. Isso é implementado com multicast UDP:
O receptor registra-se em um grupo de endereços multicast e o remetente envia seus dados de pares periodicamente para esse grupo, usando pacotes UDP.