P2P методы связи - PullRequest
       8

P2P методы связи

1 голос
/ 07 сентября 2011

Я экспериментировал с программированием приложений сервер-клиент и хочу изучить P2P.Я не знаю с чего начать.

Я думал о методе (каждый пользователь называется узлом)

Каждый узел состоит из сервера и различных клиентских экземпляров, подключенных к серверам других узлов.Таким образом, узел 1 - это сервер и клиент для узла 2 и 3, узел 2 - это сервер и клиент для узла 1 и узла 3, а узел 3 - это сервер и клиент для узла 1 и узла 2.И узлы узнают друг о друге, отправляя информацию на центральный сервер.

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

Я ищу ресурсы или основную идею метода, стоящего за ним, или я на правильном пути.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

Каждый узел состоит из сервера и различных клиентских экземпляров, подключенных к серверам другого узла.Таким образом, узел 1 - это сервер и клиент для узла 2 и 3, узел 2 - это сервер и клиент для узла 1 и узла 3, а узел 3 - это сервер и клиент для узла 1 и узла 2.И узлы узнают друг о друге, отправляя информацию на центральный сервер.

Часто люди говорят о двух типах одноранговых узлов: пограничных одноранговых (= то, что вы называете клиентским одноранговым) и супер-одноранговых (=то, что вы называете равноправным сервером).Как правило, супер-узел - это пограничный узел с дополнительными функциональными возможностями для поддержки структуры сети P2P.

Таким образом, вы не можете (и не должны) иметь данный одноранговый узел, который ведет себя как сервер от некоторых узлов икак клиент для других.Он должен быть на грани всех или супер со всеми.

Вместо центрального сервера вам нужно опубликовать набор начальных значений (т. Е. Местоположение супер-пиров).Затем краевые сверстники выбирают эти семена и начинают соединяться с одним из суперсоверш.В сети P2P нет таких вещей, как центральный сервер, а есть набор супер-пиров.

0 голосов
/ 07 сентября 2011

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

...