Подтвердить что ты не робот

Как я могу создать собственное ПО P2P?

как я могу сделать свой собственный napster? в какой библиотеке используются эти программы p2p? я не слишком хорошо знаком с концепцией программирования сокетов. вы могли бы сделать p2p-программу с помощью Qt4?

Я задавался вопросом об этом вопросе со времен Napster.

как бы вы также начали создавать следующий "bitorrent"? это с помощью аналогичных библиотек сокетов?

какая новейшая технология p2p? есть ли новостные сайты? что будет в будущем для p2p?

4b9b3361

Ответ 1

P2P или Peer-to-Peer - очень сложная программа для создания, в основном из-за ее самой структуры. Большинство интернет-приложений - это клиент-сервер, потому что много головных болей решается только благодаря наличию фиксированного сервера, с которым вы можете подключиться. В конце дня, что более или менее весь Napster сделал, он просто проиндексировал файлы и сказал, кто в настоящее время их размещает.

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

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

Далее, научитесь работать с файлами. Не очень полезно, если вы не можете сохранить материал.

Следующая сеть. Начните с клиент-сервера, настроенного только для того, чтобы справиться с передачей файлов. Создайте серверное приложение, которое предоставляет файлы и клиентское приложение, которое загружает его. Затем начните масштабировать его до одного сервера, предоставляя файлы большому количеству клиентов.

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

Если вы хотите, теперь вы можете подумать о графическом интерфейсе.

Ответ 2

Peer-to-peer, использующий способ работы Napster, имеет смысл только тогда, когда у вас много людей, которые делят файлы. Это немного проблема с курицей и яйцом, но все сводится к следующему: никто не использует сеть, которую никто не использует. То же самое с социальными сетями и др.

При этом Qt4 включает в себя сетевой модуль, поддерживающий UDP и TCP, основу для общения через Интернет. Существует документация и примерный код здесь.

Что касается вашего последнего вопроса: я думаю, что будущее для P2P полна боли и страданий. Большой контент - это самая популярная "функция" для сетей p2p: обмен музыкой и фильмами. Ваше мнение может отличаться.

Ответ 4

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

http://sourceforge.net/projects/frostwire/

http://shareaza.sourceforge.net/

Как только вы увидите перед собой грандиозную задачу... вы больше не захотите этого делать. Я только быстро просмотрел исходный код для пары более популярных, но Frostwire, вероятно, наиболее часто используется после Limewire. Я удалил его с тысяч клиентских машин, когда я предупреждал их о P2P (их дети не загружают Linux ISO):)

Оооо... я только что заметил дату на этом. Ну, я уже набрал это, и если вы когда-нибудь начали работать над проектом, я уверен, что вы все время работаете над этим:)