#include "UPNP.h"
#include "UDP.h"
#include "TCP.h"
#include "../base/Memory.h"
#include "../base/Locks.h"
#include "../base/DebugRouter.h"
#include "../base/Timer.h"
#include "../base/MiscStuff.h"
#include "PlatformSockets.h"
#include <algorithm>
#include <cctype>
Namespaces | |
namespace | NET |
namespace | NET::UPNP |
Functions | |
bool | NET::UPNP::IsAvailable () |
Returns whether UPNP service is available on the network. If this returns false, most other functions here will likely fail. | |
std::string | NET::UPNP::GetInternetFacingIP () |
Retrieves the public internet-facing IP of the local network. If that information is not available, an the IP of the local machine is returned instead. | |
std::string | NET::UPNP::GetDeviceName () |
Returns the name of the router device that we are talking to with UPNP. | |
void | NET::UPNP::ClaimUDPPort (uint16 port) |
Instructs the router to redirect all UDP packets sent to a specific port to us. | |
void | NET::UPNP::ClaimTCPPort (uint16 port) |
Instructs the router to redirect all TCP connection attempts to a specific port to us. | |
void | NET::UPNP::ReleaseUDPPort (uint16 port) |
Instructs the router that we are no longer interested in a specific udp port. | |
void | NET::UPNP::ReleaseTCPPort (uint16 port) |
Instructs the router that we are no longer interested in a specific tcp port. | |
Variables | |
bool | NET::UPNP::AllowNinjaNatTechniques = true |
Whether the framework should attempt to try other nat-opening techniques if UPNP is not available when either of the Claim*Port functions are called. These techniques may include sending out packets and trying to open tcp connections. Default is true. |