способ, которым Peer канал netPeerTcpBinding в WCF работает на том, что она использует комбинацию Peer Name Resolution Protocol и протокол обнаружения в Simple Service чтобы обнаружить сверстников на ровной сетке.
SSDP работает в локальной подсети, чтобы обнаружить сверстников, с которыми вы можете напрямую подключиться. Это делается с помощью традиционных методов сетевого вещания.
PNRP, с другой стороны, работает через сети и через Интернет с использованием IPv6. Поскольку большинство сетей еще не поддерживают IPv6, Teredo используется для туннелирования этих сообщений через IPv4.
Когда сетка P2P публикуется в глобальном облаке, имя ячейки отправляется на один из общедоступных/бесплатных для использования серверов PNRP Microsoft. Когда новые сверстники выходят в сеть, они сначала спрашивают эти серверы посева для частичного списка сверстников. Этот список затем используется для последующего разрешения имен пэра.
Когда одноранговое соединение разрешено в глобальном облаке, оно обычно разрешено к адресу IPv6. В любое время, когда адрес партнера изменяется, эта информация отправляется через сетку, чтобы другие коллеги знали об этом.
Это, по существу распределенной хеш-таблица: http://en.wikipedia.org/wiki/Distributed_hash_table
При отправке данных на сетке, эти данные направляются в Peer канал к аналогам отправляющей машина непосредственно знает о. Каждый из этих сверстников затем направляется к своим известным партнерам и т. Д. Это продолжается до тех пор, пока сообщение не будет отправлено всем сверстникам на сетке.
Это работает через Интернет (и даже за брандмауэрами/устройствами NAT) благодаря Teredo и IPv6.
Как вы подразумеваете взаимодействие? Вы говорите «отправьте сообщение другому, потому что, когда IP не фиксирован», но какое сообщение и почему? Вы что-то пробовали?Помогите нам ПОМОГИТЕ ВАМ! –