Есть ли библиотека UPnP for.NET (C# или VB.NET)? [закрыто]

Я работаю над приложением P2P, и мне нужно заставить его общаться через маршрутизаторы NAT / брандмауэры с помощью UPnP. Однако не похоже, что .NET Framework включает поддержку UPnP.

есть ли библиотека UPnP для .NET? C# или VB.NET?

UPDATE: с тех пор я нашел библиотеку типов NATUPnP 1.0 (NATUPNP.DLL) com-компонент, который является частью Windows (начиная с Windows XP), что позволяет легко настроить/поддерживать переадресацию портов с помощью UPnP.

I написал статью с образцами кода здесь: .NET Framework: общайтесь через маршрутизатор NAT через UPnP (Universal Plug and Play)

9 ответов


существует библиотека COM, которая достаточно проста для доступа:

UPnP APIs цель

рамки UPnP™ включают динамическое сеть интеллектуальных приборов, беспроводные устройства и ПК. Есть два API для работы с UPnP-сертифицированные устройства:

на API контрольной точки, которая состоит набор COM-интерфейсов, используемых для поиск и управление устройствами. The устройства Хозяин В API, которая состоит из набора Com-интерфейсы, используемые для реализации устройства, размещенные на компьютере.


У меня есть написанная полностью управляемая библиотека UPnP вокруг COM-объектов Microsoft UPnP Control Point, доступная с полным исходным кодом и демо-проектом, вы можете скачать ее из CodePlex здесь:

http://managedupnp.codeplex.com/

Он поддерживает полный обход документов описания UPnP с использованием объекта heirachy и среди прочего очень прост в использовании.


Mono.Nat-довольно хорошая библиотека для upnp, по крайней мере, для моего случая у меня было меньше проблем с ним, чем когда я использовал NATUPnP.

можно скачать здесь и вы можете найти достойный учебник о том, как управлять им вhttp://www.fluxbytes.com/csharp/upnp-port-forwarding-the-easy-way/


эти инструменты Intel UPnP были переизданы как инструменты с открытым исходным кодом по адресу:http://opentools.homeip.net. Новые инструменты называются "инструменты разработчика для технологий UPnP". Они встроены в C#, но есть бесплатный генератор кода, который будет выводить стеки 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/


Intels UPNP Tools используется для экспорта клиентов UPnP в C#. Люкс устарел, но все равно должен работать.


Если кому-то нужна простая библиотека, я написал библиотеку классов c#, которая использует компонент UPnPLib COM. Он имеет некоторые основные функции для открытия и закрытия портов. Я еще не тестировал его на нескольких платформах, но он работает в Visual Studio 2010 в Windows 7. Не стесняйтесь скачать его наhttp://sourceforge.net/projects/easyupnp/


для NAT конкретно есть Mono.Натуральный.