2011-03-19 21 views
7

Estoy buscando sugerencias o una solución para el recorrido de NAT punto a punto en .Net. Digamos que tengo una aplicación de chat y dos clientes necesitan conectarse, pero ambos están detrás de NAT:Mejores prácticas para .Net WCF NAT Traversal

Para escenarios domésticos, uPNP probablemente esté bien, ya que solo está involucrado un cablemódem o enrutador consumidor. Pero, ¿qué pasa con los entornos corporativos donde uPNP no es posible?

Estoy familiarizado con la perforación UDP, lo que está bien para el apretón de manos, pero prefiero no confiar en ello para transmitir datos reales de la aplicación.

También se veía en IPv6 y Teredo pero no estoy seguro de que cada cliente tendría la disponibilidad de IPv6, y que es un poco confuso en cuanto a todos los requisitos Teredo (servidores, relés, etc.)

Es 2011 y los clientes de IM/Chat han existido por una década y luego algunos, así que tengo que creer que este problema se ha resuelto muchas veces. ¿Alguien puede recomendar las mejores prácticas en esta área? ¡Gracias por adelantado!

+0

Un servidor externo para manejar el NAT-T es posible para usted? – bratao

+0

Sí, ambos clientes tienen que autenticar con un servidor de terceros, así que está bien. Estoy investigando la perforación de agujeros TCP/IP ahora a través de múltiples tomas en un puerto. WCF lo admite de inmediato, por lo que puede ser una solución perfecta. http://www.brynosaurus.com/pub/net/p2pnat/ Sección 4.2 y http://msdn.microsoft.com/en-us/library/ms734772.aspx – znelson

+1

Básicamente - sólo tiene que utilizar Teredo y todos los problemas están resueltos – znelson

Respuesta

0

XMPP admite chat con NAT transversal, y hay varios clientes de código abierto para .NET. Use cualquier servidor XMPP, como OpenFire.

Cuestiones relacionadas