Universal Plug & Play describes devices that work with a computer system as soon as they are connected. UPnP is an extension of this idea that expands the range of Plug and Play devices to networking equipment. Universal Plug and Play uses network protocols to allow a wide range of devices to be interconnected and work seamlessly with each other. [1]

Since most UPnP devices support zero-configuration setup (like ordinary Plug and Play devices), it is simple to add devices to a network and use them immediately. [1]

There are several good implementations of UPNP in C#. However the most ease-to-use (according to my opinion) is Open.NAT [2]. The following source code encapsulates the Open.NAT library API to a simpler API.


NOTICE: Universal Plug and Play (UPnP) is one technological advancement that, too, comes with its share of drawbacks. It’s a technology of convenience but that convenience can leave your system vulnerable to certain problems if you don’t keep an eye on it.


  1. https://techterms.com/definition/upnp
  2. https://github.com/lontivero/Open.NAT



Write A Comment