WCF P2P през интернет

Здравейте, момчета, опитвам се да науча как да създам P2P приложение в Windows Communication Foundation и имам прост тестов клиент, създаден досега, който може да комуникира в интранет съвсем добре. Тоест... Мога да стартирам приложението няколко пъти на собствената си машина и всички те могат да комуникират помежду си, а също така мога да го поставя на друга машина в моята домашна мрежа и всички те могат да комуникират помежду си.

Проблемът е когато изпратя приложението на приятел за тестване. Всичко работи добре, само съобщенията не се получават. Все едно няма никой.

Направих всякакви изследвания за NAT edge traversal и съм затрупан от информацията и където и да погледна хората изглежда не са решили проблема.

Чувам всякакви неща за това, че защитните стени са проблемът с необходимостта от активиране на преминаването по ръба, но изпробвах всички предложения и все още не работи. Дори деактивирах защитните стени на двете машини, локални и отдалечени, и все още нищо не се случва.

Може ли някой да даде някаква представа за това как ефективно да пробиете и тези приложения да могат да комуникират, без да се налага да правите всякакви процедури за настройка и ръчно конфигуриране на защитната стена (което все още изглежда не работи)?


person Raziaar    schedule 03.09.2011    source източник
comment
това е по-скоро проблем с мрежата, отколкото проблем с WCF. Имате по-голям шанс за отговор при грешка на сървъра   -  person Shiraz Bhaiji    schedule 03.09.2011


Отговори (1)


По принцип няма начин да се свържете с компютър зад NAT без някаква конфигурация на рутера, който прави NATing.

Това, което повечето P2P мрежи правят в тези ситуации, е да използват супервъзли – компютри, които не са зад NAT (или които имат правилно конфигурирано пренасочване на порт), които се използват за подпомагане на свързването на други компютри (които са зад NAT).

person svick    schedule 03.09.2011
comment
Благодаря ви много за вашата помощ! Да, предполагам, че нямаше фантастично супер решение, както си мислех. Донякъде съм объркан относно супервъзлите... това не обезсмисля ли цялата цел P2P да бъде без сървър? Не са ли супервъзлите просто като куп мини сървъри, на които трябва да плащате, за да поддържате инфраструктурата им. Мислех, че P2P позволява мощността на хранилището и честотната лента да бъдат разпределени до всички, а не до сървъри. - person Raziaar; 05.09.2011
comment
Въпросът е, че не плащате на супервъзлите. Някои потребители имат публични IP адреси или могат да настроят правилно препращането на своя порт, така че да могат да бъдат супервъзли. - person svick; 05.09.2011