Почему пиринговое программирование - это трудная тема для получения хороших исследований?

StackOverflow https://stackoverflow.com/questions/23738

Вопрос

Прочитав немного больше о том, как функционируют Gnutella и другие P2P-сети, я захотел запустить свою собственную одноранговую систему.Я зашел туда, думая, что найду множество руководств, не зависящих от языка, которые можно было бы применить, однако я был встречен расплывчатым упрощенным обзором.

Я смог найти только очень маленький, точный P2P-код, который делал не намного больше, чем использовал архитектуру клиент / сервер для всех пользователей, что на самом деле было не тем, что я искал.Я хотел что-то вроде Gnutella, но, похоже, в открытом доступе нет ни одной статьи для присоединения к сети.

Это было полезно?

Решение

Мне пришлось написать базовый клиент Gnutella на C # с использованием веб-сервисов, и я думаю, что заметки к классу по P2P-материалам все еще доступны здесь и здесь.

Другие советы

RFC 4981, с его огромной библиографией, мог бы стать очень хорошей отправной точкой.

Возможно, вы добьетесь большего успеха в исследовании Bittorrent, я полагаю, что создатель написал несколько статей, и, похоже, другие тоже.

БитТирант Bittorent.org , смотрите раздел "Разработчики"

Я не знаю, какую платформу вы пытаетесь использовать, но вот достойная статья на эту тему для .NET.

Я нашел тот самый Теория и Неофициальная спецификация BitTorrent быть лучшим онлайн-источником информации о Bittorrent.Кроме того, монотонический код довольно прост и легок для понимания.Существует также проект под названием "GCT", который реализует P2P в стиле JGroups для локальных сетей / многоадресных сред, и его код также прост для понимания (если немного глючит).

Вы можете попробовать почитать Гнутелла2 и попробуйте внедрить обмен сообщениями.Для ознакомления с концептуальными материалами вы можете прочитать "Распределенные системы" Эндрю Танненбаума.

Вы можете взглянуть на JXTA.Его намерение состояло в том, чтобы быть универсальным, не зависящим от платформы p2p-фреймворком, в отличие от других реализаций p2p, которые обычно предназначены для очень специфической цели (например, Gnutella).

Пусть вас не вводит в заблуждение внешний вид Java, доступны привязки для C / C ++ / C #, но основные протоколы реализованы в XML, который должен переводиться на любой язык.

Вы также можете скачать бесплатную книгу здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top