Почему пиринговое программирование - это трудная тема для получения хороших исследований?
-
09-06-2019 - |
Вопрос
Прочитав немного больше о том, как функционируют Gnutella и другие P2P-сети, я захотел запустить свою собственную одноранговую систему.Я зашел туда, думая, что найду множество руководств, не зависящих от языка, которые можно было бы применить, однако я был встречен расплывчатым упрощенным обзором.
Я смог найти только очень маленький, точный P2P-код, который делал не намного больше, чем использовал архитектуру клиент / сервер для всех пользователей, что на самом деле было не тем, что я искал.Я хотел что-то вроде Gnutella, но, похоже, в открытом доступе нет ни одной статьи для присоединения к сети.
Другие советы
RFC 4981, с его огромной библиографией, мог бы стать очень хорошей отправной точкой.
Возможно, вы добьетесь большего успеха в исследовании Bittorrent, я полагаю, что создатель написал несколько статей, и, похоже, другие тоже.
Я не знаю, какую платформу вы пытаетесь использовать, но вот достойная статья на эту тему для .NET.
Я нашел тот самый Теория и Неофициальная спецификация BitTorrent быть лучшим онлайн-источником информации о Bittorrent.Кроме того, монотонический код довольно прост и легок для понимания.Существует также проект под названием "GCT", который реализует P2P в стиле JGroups для локальных сетей / многоадресных сред, и его код также прост для понимания (если немного глючит).
Вы можете попробовать почитать Гнутелла2 и попробуйте внедрить обмен сообщениями.Для ознакомления с концептуальными материалами вы можете прочитать "Распределенные системы" Эндрю Танненбаума.
Вы можете взглянуть на JXTA.Его намерение состояло в том, чтобы быть универсальным, не зависящим от платформы p2p-фреймворком, в отличие от других реализаций p2p, которые обычно предназначены для очень специфической цели (например, Gnutella).
Пусть вас не вводит в заблуждение внешний вид Java, доступны привязки для C / C ++ / C #, но основные протоколы реализованы в XML, который должен переводиться на любой язык.
Вы также можете скачать бесплатную книгу здесь.