Question

Je travaille sur une application P2P et je dois la faire communiquer via des routeurs / pare-feu NAT à l'aide de UPnP. Cependant, il ne semble pas que .NET Framework prenne en charge le protocole UPnP.

Existe-t-il une bibliothèque UPnP pour .NET? C # ou VB.NET?

UPDATE: J'ai depuis trouvé le composant COM NATUPnP 1.0 Type Library (NATUPNP.DLL) faisant partie de Windows (depuis Windows XP), qui vous permet de configurer / gérer facilement la redirection de port à l'aide de UPnP.

J'ai écrit un article avec des exemples de code ici: .NET Framework: communiquez via un routeur NAT via UPnP (Universal Plug and Play). )

Était-ce utile?

La solution

Il existe une bibliothèque COM assez facile d'accès:

  

API UPnP Objet p>      

Le cadre UPnP ™ permet de créer des relations dynamiques.   mise en réseau d'appareils intelligents,   appareils sans fil et PC. Il y a   deux API pour travailler avec   Périphériques certifiés UPnP:

     

La API de point de contrôle , qui consiste   d'un ensemble d'interfaces COM utilisées pour   trouver et contrôler des appareils. Le appareil   API hôte , qui consiste en un ensemble de   Interfaces COM utilisées pour implémenter   les périphériques hébergés par un ordinateur.

Autres conseils

J'ai écrit une bibliothèque UPnP entièrement gérée autour des objets COM Microsoft Point de contrôle UPnP, disponible avec source complète et projet de démonstration. Vous pouvez la télécharger à partir de CodePlex ici:

http://managedupnp.codeplex.com/

Il prend en charge le parcours complet des documents de description UPnP en utilisant un objet hérité et est entre autre très facile à utiliser.

Mono.Nat est une assez bonne bibliothèque pour upnp, du moins dans mon cas, j’ai eu moins de problèmes avec celle-ci que lorsque j’utilisais NATUPnP.

Vous pouvez le télécharger ici et vous trouverez un didacticiel décent sur la pour le faire fonctionner à http://www.fluxbytes.com/ csharp / upnp-port-forwarding-the-easy-way /

Ces outils Intel UPnP ont été réédités en tant qu'outils open source sur: http://opentools.homeip.net . Les nouveaux outils sont appelés "Outils de développement pour les technologies UPnP". Ils sont construits en C # mais il existe un générateur de code libre qui générera des piles C et C #. La pile C fonctionnera sous Windows et Linux.

Ylian

Je cherchais personnellement ce matériel et j'ai trouvé:

mono-upnp :: https://github.com/mono/mono-upnp

Mono.Nat :: https://github.com/mono/Mono.Nat

J'utilise ceci, qui semble bien fonctionner:

http://code.google.com/p/dotnetportmapper/

Outils Intels UPNP était capable d’exporter des clients UPnP en C #. La suite est obsolète mais devrait toujours fonctionner.

Si quelqu'un a besoin d'une bibliothèque simple, j'ai écrit une bibliothèque de classe c # qui utilise le composant UPnPLib COM. Il a quelques fonctions de base pour ouvrir et fermer les ports. Je ne l'ai pas encore testé sur plusieurs plates-formes, mais cela fonctionne sous Visual Studio 2010 sous Windows 7. N'hésitez pas à le télécharger à l'adresse http://sourceforge.net/projects/easyupnp/

Pour NAT, il existe Mono.Nat.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top