I'm trying to add new static port mapping in my c# application. Because my application runs as a server and i want its to listen on the port 8000.
NATUPNPLib.UPnPNATClass upnpnat = new NATUPNPLib.UPnPNATClass();
NATUPNPLib.IStaticPortMappingCollection mappings = upnpnat.StaticPortMappingCollection;
mappings.Add(8000, "TCP", 8000, "192.168.1.100", true, "Local Web Server");
but it doesn't work!, The exception was the following :
Object reference not set to an instance of an object.
Does anyone can help me please?
This is what i'm doing : http://pietschsoft.com/post/2009/02/05/NET-Framework-Communicate-through-NAT-Router-via-UPnP.aspx
Without more code we would be able to help, but if the exception is on the line you provided, that means that
mappings
is null and not set.Check the code before that line to see if you're actually creating and setting the
mappings
variable.According to your comment, the object returned by
upnpnat.StaticPortMappingCollection
is what is null. Check the documentation to make sure you're initializing it correctly.You need to set mappings to a new instance:
For example:
Then you can call:
From your edit:
The collection is coming back as null. Therefore you cannot add to the collection.
You may have to do:
From Codesleuth's comment:
Just based on your error message which just all we have;
After your edit, maybe using like;
Looks like you forget to use
()