Разработка однорангового приложения на Java
У меня есть университетский проект, где мне нужно разработать одноранговую систему в Java для обмена файлами.
Таким образом, по сути, несколько пользователей должны иметь возможность обмениваться файлами с помощью одноранговой системы.
Может кто-нибудь дать мне несколько советов о том, как построить эту систему?
2 ответа
Для университетского проекта прочитайте учебник о сокетах. Я считаю, что это то, что ваш профессор ожидает от вас. Возьмем, к примеру, следующее: http://www.oracle.com/technetwork/java/socket-140484.html
Существует два основных решения: полное и без сервера. В случае серверных решений все ваши клиенты должны быть предварительно настроены с IP-адресом сервера. Сервер открывает сокет сервера и начинает прослушивание. Итак, каждый клиент подключается к серверу и регистрируется. Регистрация очень проста: серверу нужен только IP-адрес клиента. Теперь сервер хранит список подключенных клиентов и отправляет список каждому клиенту. Чтобы сделать приложение peer2peer, каждый клиент тоже открывает сокет сервера. Когда клиент A хочет подключиться к клиенту B, он просто подключается к своему сокету.
Вы можете реализовать решение без сервера. В этом случае вам нужен механизм обнаружения, основанный, например, на широковещании.
Надеюсь, это поможет. Удачи.
Вы хотите проверить JXTA. Сайт переехал на http://jxse.kenai.com/. Практическая книга JXTA II была сделана доступной для чтения на Scribd.