Рекомендации для .Net WCF NAT Traversal

Я ищу предложения или решение для однорангового обхода NAT в .Net . Допустим, у меня есть приложение чата, и два клиента должны подключиться, но оба находятся за NAT:

Для домашних сценариев, вероятно, подходит uPNP, поскольку задействован только кабельный модем или потребительский маршрутизатор. Но как насчет корпоративной среды, где uPNP невозможен?

Я знаком с перфорацией UDP, которая подходит для квитирования, но я Я бы предпочел не полагаться на него для передачи реальных данных приложения.

Я также изучал IPv6 и Teredo, но не уверен, что у каждого клиента будет доступность IPv6, и это немного сбивает с толку все требования Teredo (серверы, реле и т. Д.).

Это 2011 год и IM / Чат-клиенты существуют уже десять лет, а затем и несколько - так что я должен полагать, что эта проблема была решена много раз. Может ли кто-нибудь порекомендовать лучшие практики в этой области? Заранее благодарим!

7
задан znelson 19 March 2011 в 20:25
поделиться