Domanda

Sto lavorando su un'applicazione P2P e devo farla comunicare tramite router / firewall NAT tramite UPnP. Tuttavia, non sembra che .NET Framework includa il supporto per UPnP.

Esiste una libreria UPnP per .NET? C # o VB.NET?

AGGIORNAMENTO: da allora ho trovato il componente COM NATUPnP 1.0 Type Library (NATUPNP.DLL) COM che fa parte di Windows (da Windows XP) che consente di impostare / gestire facilmente Port Forwarding tramite UPnP.

Ho scritto un articolo con esempi di codice qui: .NET Framework: comunica tramite NAT Router tramite UPnP (Universal Plug and Play )

È stato utile?

Soluzione

Esiste una libreria COM a cui è abbastanza facile accedere:

  

API UPnP Scopo

     

L'UPnP & # 8482; framework abilita dinamica   collegamento in rete di apparecchi intelligenti,   dispositivi wireless e PC. Ci sono   due API con cui lavorare   Dispositivi certificati UPnP:

     

La API del punto di controllo , che consiste   di una serie di interfacce COM utilizzate per   trova e controlla i dispositivi. Il dispositivo   API host , che consiste in un set di   Interfacce COM utilizzate per l'implementazione   dispositivi ospitati da un computer.

Altri suggerimenti

Ho scritto una libreria UPnP completamente gestita attorno agli oggetti COM del punto di controllo di microsoft UPnP, disponibile con full source e un progetto demo, puoi scaricarla da CodePlex qui:

http://managedupnp.codeplex.com/

Supporta la completa traslazione dei documenti descrittivi UPnP usando un erede dell'oggetto e tra l'altro è molto facile da usare.

Mono.Nat è una libreria abbastanza buona per upnp, almeno per il mio caso ho avuto meno problemi con questo finora rispetto a quando stavo usando NATUPnP.

Puoi scaricarlo qui e puoi trovare un tutorial decente su come per gestirlo su http://www.fluxbytes.com/ csharp / UPnP-port-forwarding-the-facile-way /

Questi strumenti Intel UPnP sono stati ripubblicati come strumenti open source all'indirizzo: http://opentools.homeip.net . I nuovi strumenti sono chiamati "Strumenti per sviluppatori per tecnologie UPnP". Sono costruiti in C # ma c'è un generatore di codice gratuito che produrrà stack C e C #. Lo stack C funzionerà su Windows e Linux.

Ylian

Stava cercando queste cose personalmente e ho trovato ::

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

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

Uso questo, che sembra funzionare bene:

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

Strumenti UPNP di Intels era in grado di esportare i client UPnP in C #. La suite è obsoleta ma dovrebbe ancora funzionare.

Se qualcuno ha bisogno di una libreria semplice, ho scritto una libreria di classe c # che utilizza il componente COM UPnPLib. Ha alcune funzioni di base per aprire e chiudere le porte. Non l'ho ancora testato su più piattaforme, ma funziona su Visual Studio 2010 in Windows 7. Sentiti libero di scaricarlo da http://sourceforge.net/projects/easyupnp/

Per NAT nello specifico c'è Mono.Nat.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top