2011-02-07 14 views
14

Mam projekt uniwersytecki, w którym muszę stworzyć system peer to peer w java do udostępniania plików.Tworzenie aplikacji Peer to Peer w Javie

Zasadniczo kilku użytkowników powinno mieć możliwość udostępniania plików za pomocą systemu Peer to Peer.

Czy ktoś może mi podać kilka wskazówek, jak zbudować ten system?

+3

Proponuję zapoznać się z jedną z wielu implementacji Open Source w zakresie udostępniania plików peer to peer i używać ich jako szablonu (lub po prostu używać ich tak, jak są) –

Odpowiedz

15

Dla projektu uniwersyteckiego przeczytaj kilka poradników na temat gniazd. Wierzę, że właśnie tego oczekuje od ciebie twój profesor. Weźmy na przykład następujące: http://www.oracle.com/technetwork/java/socket-140484.html

Istnieją 2 ogólne rozwiązania: serwer pełny i bezserwerowy. W przypadku rozwiązań serwerowych wszyscy klienci powinni mieć wstępnie skonfigurowany adres IP serwera. Serwer otwiera gniazdo serwera i zaczyna nasłuchiwać. Każdy klient łączy się z serwerem i rejestrami. Rejestracja jest bardzo prosta: serwer potrzebuje adresu IP klienta. Teraz serwer przechowuje listę podłączonych klientów i wysyła listę do każdego klienta. Aby utworzyć aplikację peer2peer, każdy klient również otwiera gniazdo serwera. Gdy klient A chce połączyć się z klientem B, po prostu łączy się z gniazdem.

Można wdrożyć rozwiązanie bez serwera. W takim przypadku potrzebny jest mechanizm wykrywania, na przykład w przypadku nadawania.

Mam nadzieję, że to pomoże. Powodzenia.

+0

co z klientem, który nie zna serwera Adres IP? Odkąd (wszystkie urządzenia) nie są jeszcze podłączone do żadnej sieci? Proponuję dla nich komunikację WiFi. Ale czy to możliwe? – gumuruh

+0

Wifi to po prostu sposób na połączenie ze światem TCP/IP. Jeśli klient nie zna adresu IP serwera, potrzebny jest pewien mechanizm wykrywania. Na przykład brodcast. Ale jest to możliwe tylko w sieciach zamkniętych. – AlexR

+0

oznacza, że ​​niemożliwe jest, aby dwa urządzenia z Androidem komunikowały się na WIFI, które już włączają swój WIFI (ale nie są podłączone do żadnej sieci) - nie ma internetu, nie ma bluetooth, nie ma danych o fonecellach? I choć java/android może nadawać prosty ciąg przez Wi-Fi? @AlexR – gumuruh

2

Chcesz sprawdzić JXTA. Witryna została przeniesiona do jxse.kenai.com. Praktyczna książka JXTA II została udostępniona do czytania w Scribd.

Powiązane problemy