#include <NatPunchthroughClient.h>
Public Member Functions | |
bool | OpenNAT (RakNetGUID destination, const SystemAddress &facilitator) |
PunchthroughConfiguration * | GetPunchthroughConfiguration (void) |
void | SetDebugInterface (NatPunchthroughDebugInterface *i) |
void | GetUPNPPortMappings (char *externalPort, char *internalPort, const SystemAddress &natPunchthroughServerAddress) |
Get the port mappings you should pass to UPNP (for miniupnpc-1.5, for the function UPNP_AddPortMapping). | |
virtual void | Update (void) |
Update is called every time a packet is checked for . | |
virtual PluginReceiveResult | OnReceive (Packet *packet) |
virtual void | OnNewConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, bool isIncoming) |
virtual void | OnClosedConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason) |
virtual void | OnAttach (void) |
Called when the interface is attached. | |
virtual void | OnDetach (void) |
Called when the interface is detached. | |
virtual void | OnRakPeerShutdown (void) |
Called when RakPeer is shutdown. |
Maintain connection to NatPunchthroughServer to process incoming connection attempts through NatPunchthroughClient
Client will send datagrams to port to estimate next port
Will simultaneously connect with another client once ports are estimated.
PunchthroughConfiguration* RakNet::NatPunchthroughClient::GetPunchthroughConfiguration | ( | void | ) |
Modify the system configuration if desired Don't modify the variables in the structure while punchthrough is in progress
virtual void RakNet::NatPunchthroughClient::OnClosedConnection | ( | const SystemAddress & | systemAddress, | |
RakNetGUID | rakNetGUID, | |||
PI2_LostConnectionReason | lostConnectionReason | |||
) | [virtual] |
Called when a connection is dropped because the user called RakPeer::CloseConnection() for a particular system
[in] | systemAddress | The system whose connection was closed |
[in] | rakNetGuid | The guid of the specified system |
[in] | lostConnectionReason | How the connection was closed: manually, connection lost, or notification of disconnection |
Reimplemented from RakNet::PluginInterface2.
virtual void RakNet::NatPunchthroughClient::OnNewConnection | ( | const SystemAddress & | systemAddress, | |
RakNetGUID | rakNetGUID, | |||
bool | isIncoming | |||
) | [virtual] |
Called when we got a new connection
[in] | systemAddress | Address of the new connection |
[in] | rakNetGuid | The guid of the specified system |
[in] | isIncoming | If true, this is ID_NEW_INCOMING_CONNECTION, or the equivalent |
Reimplemented from RakNet::PluginInterface2.
virtual PluginReceiveResult RakNet::NatPunchthroughClient::OnReceive | ( | Packet * | packet | ) | [virtual] |
OnReceive is called for every packet.
[in] | packet | the packet that is being returned to the user |
Reimplemented from RakNet::PluginInterface2.
bool RakNet::NatPunchthroughClient::OpenNAT | ( | RakNetGUID | destination, | |
const SystemAddress & | facilitator | |||
) |
Punchthrough a NAT. Doesn't connect, just tries to setup the routing table
[in] | destination | The system to punch. Must already be connected to facilitator |
[in] | facilitator | A system we are already connected to running the NatPunchthroughServer plugin |
void RakNet::NatPunchthroughClient::SetDebugInterface | ( | NatPunchthroughDebugInterface * | i | ) |
Sets a callback to be called with debug messages
[in] | i | Pointer to an interface. The pointer is stored, so don't delete it while in progress. Pass 0 to clear. |