2011-01-14 4 views
1

Я делал простую программу передачи файлов через IRC, и когда я читал, я видел, что IRC при совместном использовании файла создает прямое соединение между двумя пользователями независимо от сервера (DCC, Direct Client Connect). После поиска я нашел это: Direct Connect и Advanced Direct Connect.Может ли P2P быть выполнен без переадресации портов?

Ни одна из этих страниц не отвечает на этот вопрос, что я не могу выбраться из головы: Возможна ли передача данных P2P без какого-либо использования пользователем специального порта? Разрешен промежуточный сервер, который помогает настроить соединение (как в примерах IRC). Сама передача данных должна быть независимой от сервера.

ответ

3

Да - если вы можете получить внешний сервер для пересылки запроса на соединение для вас, существуют так называемые методы перфорации отверстий, которые можно использовать для настройки прямого соединения. This technical paper имеет более подробное объяснение.

Обратите внимание, что они не обязательно работают на все NAT - но они действительно работают на довольно многих из них.

+0

+1 для дырокола, что я имею в виду, не знал, что такое терминология. – orlp

1

Практическая JXTA II (доступна для чтения на Scribd) содержит раздел, поясняющий методы прохождения NAT-обхода. Пробивка отверстий - это подмножество методов для обхода NAT.

Смежные вопросы