2010-03-31 4 views
2

Je crée une application en C#, elle devrait envoyer des données avec UDP. Tout fonctionne bien jusqu'à ce que, j'essaie de communiquer avec un PC qui est sur Internet derrière un routeur. Comment puis-je résoudre ce problème afin que je puisse utiliser UDP sans redirection de port?Comment faire UDP sans redirection de port

+0

Je crois que la réponse peut être UPnP. Je n'en connais pas assez pour le savoir. – Earlz

+0

Avez-vous vraiment besoin d'utiliser UDP? UDP est laid et dangereux. Ma société a perdu un contrat multi-100K grâce à UDP (en conjonction avec Log4Net). – MusiGenesis

+0

@Musi, même si ce n'est pas une réponse en soi, je vous recommande de poster une réponse complète en disant ce qui est si horrible à ce sujet. – Earlz

Répondre

2

Je pense que votre meilleur espoir est UDP hole punching. Je comprends que chaque hôte envoie des données à l'autre. Cela force le pare-feu/NAT à penser que la connexion a déjà été établie.

+0

Salut, j'ai lu à propos de ce "trou de perforation UDP", mais je n'en ai trouvé aucun exemple en C#. pouvez-vous en montrer une partie? – igor

+0

Non, je n'en ai pas connaissance. Je pense que c'est parce que chaque implémentation est unique. – Foole

Questions connexes