Есть ли библиотека 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
Intels UPNP Tools используется для экспорта клиентов UPnP в C#. Люкс устарел, но все равно должен работать.
Если кому-то нужна простая библиотека, я написал библиотеку классов c#, которая использует компонент UPnPLib COM. Он имеет некоторые основные функции для открытия и закрытия портов. Я еще не тестировал его на нескольких платформах, но он работает в Visual Studio 2010 в Windows 7. Не стесняйтесь скачать его наhttp://sourceforge.net/projects/easyupnp/