WCF, 4.0, Двунаправленный - PullRequest
0 голосов
/ 07 мая 2010

... какие есть варианты с .NET 4.0, таким образом, который поддерживает NAT на стороне клиента (то есть клиент за NAT).

Я бы предпочел использовать что-то на основе HTTP, но это слабое условие - я думаю, что в среднесрочной перспективе у меня все равно будет не HTTP-связь вне WCF, поэтому я могу отложить прокси-обход.

До .NET 4.0 существовала проблема, заключавшаяся в том, что в основном канал сервера-> клиента был бы открыт с сервера, что делало NAT чем-то непроходимым.

Опрос недопустим - мы обсуждаем конфиденциальную информацию здесь.

Итак, какие у меня варианты сейчас?

Ответы [ 2 ]

1 голос
/ 12 мая 2010

Вы можете открыть соединение с клиента и просто оставить его открытым. Или перенаправьте порты по NAT клиентам, поэтому при подключении к NAT: 34823 перейдет к 192.168.xxx.xxx:80. Или заплатите Microsoft немного денег, чтобы использовать их служебную шину, которая еще не закончена и имеет неопределенное будущее. Или сделайте хитрый взлом, установите Skype как на клиентах, так и на серверах, отправляйте свои сообщения через API.

0 голосов
/ 09 мая 2010

Это не относится к .net 4.0, но вы можете использовать Windows Azure Service Bus.

Если ваше приложение требует двунаправленная связь вы фактически есть два варианта: либо Вы делаете ставку на доступные обходные пути и жить с последствиями (как BitTorrent делает) или вы строите и работать в той или иной форме службы ретрансляции для ваше приложение. Сервис ретрансляции принимает и поддерживает соединения от брандмауэры и / или клиенты под NAT и маршрутизирует сообщения между ними. Практически весь чат, мгновенный обмен сообщениями, видеоконференции, VoIP, и многопользовательские игровые приложения и многие другие популярные интернет приложения зависят от некоторой формы Сервис ретрансляции.

Проблема с услугами ретрансляции что их невероятно сложно построить таким образом, что они могут обеспечить Интернет масштаб, где они должны маршрут между тысячами или даже миллионы соединений как большие Сети мгновенных сообщений делают. А также как только у вас есть реле, которое может поддерживать такой масштаб невероятно дорог работать. Так дорого, что необходимые инвестиции и Итоговые эксплуатационные расходы совершенно вне досягаемости для огромного большинство софтверных компаний. проблема подключения является реальной инновационный блокатор и представляет собой значительный входной барьер.

Хорошая новость заключается в том, что Microsoft .NET Сервисная шина предоставляет широкий спектр двунаправленный, одноранговый варианты подключения, включая ретрансляцию коммуникации. Вам не нужно строить свой или свой собственный; ты можешь использовать этот строительный блок вместо. Сеть Сервисная шина охватывает четыре логических функциональные области: Naming, Registry, Связь и Eventing.

http://vasters.com/clemensv/PermaLink,guid,92d78bee-2cfd-4a29-95ab-c5abb9b905e7.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...