WCF P2P через интернет
Привет, ребята. Я пытаюсь узнать, как создать P2P-приложение в Windows Communication Foundation, и у меня пока есть простой тестовый клиент, который может нормально взаимодействовать с интранетом. То есть... я могу запускать приложение несколько раз на своей машине, и все они могут общаться друг с другом, и я также могу разместить его на другой машине в моей домашней сети, и все они могут общаться друг с другом.
Проблема заключается в том, когда я отправляю заявку другу для тестирования. Все отлично работает, просто сообщения не принимаются. Как будто там никого нет.
Я проводил всевозможные исследования по обходу границ NAT, и я поражен информацией, и везде, куда бы я ни посмотрел, люди, похоже, не решили проблему.
Я слышал все о том, что брандмауэры могут быть включены, так как проблема с обходом границ должна быть включена, но я попробовал все предложения, но они все еще не работают. Я даже отключил брандмауэры как на локальных, так и на удаленных машинах, и ничего не происходит до сих пор.
Может ли кто-нибудь дать представление о том, как эффективно пробиться, и смогут ли эти приложения обмениваться данными без необходимости выполнять всевозможные процедуры настройки и ручную настройку брандмауэра (которые, похоже, все еще не работают)?
1 ответ
В общем случае невозможно подключиться к компьютеру за NAT без какой-либо конфигурации на маршрутизаторе, который выполняет NAT.
В этих ситуациях большинство сетей P2P используют супер-узлы - компьютеры, которые не находятся за NAT (или правильно настроили переадресацию портов), которые используются для подключения других компьютеров (которые находятся за NAT).