Можно ли сделать P2P без переадресации портов? - PullRequest
1 голос
/ 14 января 2011

Я делал простую программу передачи файлов через IRC, и когда я читал, я увидел, что IRC при совместном использовании файла создает прямое соединение между двумя пользователями независимо от сервера (DCC, Direct Client Connect).После поиска я нашел следующее: Прямое подключение и Расширенное прямое подключение .

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

Ответы [ 2 ]

3 голосов
/ 14 января 2011

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

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

1 голос
/ 10 февраля 2011

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

...