2011-02-07 16 views
14

Ho un progetto universitario in cui ho bisogno di sviluppare un sistema peer to peer in java per la condivisione di file.Sviluppo dell'applicazione Peer to Peer in Java

Quindi in sostanza molti utenti dovrebbero essere in grado di condividere file utilizzando il sistema Peer to Peer.

Qualcuno può darmi alcune linee guida su come costruire questo sistema ??

+3

Ti suggerisco di dare un'occhiata a una delle tante implementazioni open source della condivisione di file peer-to-peer e usarli come modello (o semplicemente usarli così come sono) –

risposta

15

Per il progetto universitario leggere alcuni tutorial sulle prese. Credo che questo sia ciò che il tuo professore si aspetta da te. Prendiamo ad esempio il seguente: http://www.oracle.com/technetwork/java/socket-140484.html

Esistono 2 soluzioni generali: server completo e senza server. In caso di soluzioni basate su server, tutti i client devono essere preconfigurati con l'indirizzo IP del server. Il server apre il socket del server e inizia l'ascolto. Quindi, ogni client si connette al server e ai registri. La registrazione è molto semplice: il server ha solo bisogno dell'IP del client. Ora il server contiene un elenco di client connessi e invia l'elenco a ciascun client. Per fare l'app peer2peer, anche ciascun client apre il socket del server. Quando il client A desidera connettersi al client B, si connette semplicemente al socket.

È possibile implementare una soluzione server-less. In questo caso è necessario un meccanismo di rilevamento basato per esempio sulla trasmissione.

Spero che questo aiuti. In bocca al lupo.

+0

come parlare del client che non conosce il server Indirizzo IP? Dal momento che (tutti i dispositivi) non sono ancora connessi in nessuna rete? Sto proponendo la comunicazione wifi per loro. Ma sarebbe possibile? – gumuruh

+0

Wifi è solo un modo per connettersi al mondo TCP/IP. Se il client non conosce l'IP del server, è necessario un qualche tipo di meccanismo di scoperta. Ad esempio, brodcast. Ma questo è possibile solo in reti chiuse. – AlexR

+0

significa che è impossibile che due dispositivi Android comunichino su WIFI che sta già accendendo il loro WIFI (ma non connesso a nessuna rete) -no internet, nessun bluetooth, nessun dato di phonecell? Ho pensato che java/android potesse trasmettere la sua semplice stringa via wifi? @AlexR – gumuruh

2

Si desidera controllare JXTA. Il sito è stato spostato su jxse.kenai.com. Il pratico libro JXTA II è stato reso disponibile per la lettura su Scribd.

Problemi correlati