是否有.NET(C#或VB.NET)的UPnP库?

我正在开发一个P2P应用程序,我需要通过使用UPnP的NAT路由器/防火墙来进行通信。 但是,.NET Framework似乎并不包含对UPnP的支持。

是否有一个UPnP库的.NET? C#或VB.NET?

更新:我已经find了NATUPnP 1.0types库(NATUPNP.DLL)COM组件,它是Windows(自Windows XP以来)的一部分,它允许您使用UPnP轻松设置/维护端口转发。

我在这里写了一篇代码示例的文章: .NET Framework:通过UPnP(通用即插即用)通过NAT路由器进行通信

有一个COM库很容易访问:

UPnP API目的

UPnP™框架支持智能设备,无线设备和PC的dynamic联网。 有两个与UPnPauthentication设备一起工作的API:

控制点API ,由用于查找和控制设备的一组COM接口组成。 设备主机API ,由用于实现由计算机托pipe的设备的一组COM接口组成。

我有一个写在Microsoft UPnP控制点COM对象周围的完全托pipe的UPnP库,它提供了完整的源代码和一个演示项目,您可以从CodePlex下载:

http://managedupnp.codeplex.com/

它支持使用对象的全面遍历的UPnP描述文件,其中非常容易使用。

Mono.Nat是一个非常好的upnp库,至less在我的情况下,我比使用NATUPnP的时候less了很多问题。

你可以在这里下载,你可以在http://www.fluxbytes.com/csharp/upnp-port-forwarding-the-easy-way/find一个体面的教程。;

这个英特尔UPnP工具已经在http://opentools.homeip.net作为开源工具重新发布。; 这些新工具被称为“UPnP技术的开发工具”。 它们是用C#构build的,但是有一个可以输出C和C#栈的免费代码生成器。 C堆栈将在Windows和Linux上运行。

Ylian

正在四处寻找这个东西,发现::

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

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

我用这个,这似乎工作正常:

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

英特尔UPNP工具曾经能够在C#中导出UPnP客户端。 该套件已弃用,但仍应该工作。

如果有人需要一个简单的库,我写了使用UPnPLib COM组件的ac#类库。 它具有打开和closures端口的一些基本function。 我还没有在多个平台上进行testing,但它可以在Windows 7中的Visual Studio 2010上运行。欢迎下载http://sourceforge.net/projects/easyupnp/

对于具体的NAT有Mono.Nat。