RakNet  4.0
Public Member Functions | List of all members
RakNet::RakNetTransport2 Class Reference

Use RakNetTransport if you need a secure connection between the client and the console server. More...

#include <RakNetTransport2.h>

Inheritance diagram for RakNet::RakNetTransport2:
RakNet::TransportInterface RakNet::PluginInterface2

Public Member Functions

bool Start (unsigned short port, bool serverMode)
 
void Stop (void)
 Stop the transport provider. You can clear memory and shutdown threads here.
 
void Send (SystemAddress systemAddress, const char *data,...)
 
void CloseConnection (SystemAddress systemAddress)
 
PacketReceive (void)
 
void DeallocatePacket (Packet *packet)
 
SystemAddress HasNewIncomingConnection (void)
 
SystemAddress HasLostConnection (void)
 
virtual CommandParserInterfaceGetCommandParser (void)
 
virtual PluginReceiveResult OnReceive (Packet *packet)
 
virtual void OnClosedConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason)
 
virtual void OnNewConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, bool isIncoming)
 
- Public Member Functions inherited from RakNet::PluginInterface2
virtual void OnAttach (void)
 Called when the interface is attached.
 
virtual void OnDetach (void)
 Called when the interface is detached.
 
virtual void Update (void)
 Update is called every time a packet is checked for .
 
virtual void OnRakPeerStartup (void)
 Called when RakPeer is initialized.
 
virtual void OnRakPeerShutdown (void)
 Called when RakPeer is shutdown.
 
virtual void OnFailedConnectionAttempt (Packet *packet, PI2_FailedConnectionAttemptReason failedConnectionAttemptReason)
 
virtual bool UsesReliabilityLayer (void) const
 
virtual void OnDirectSocketSend (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
 
virtual void OnDirectSocketReceive (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
 
virtual void OnReliabilityLayerNotification (const char *errorMessage, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress, bool isError)
 
virtual void OnInternalPacket (InternalPacket *internalPacket, unsigned frameNumber, SystemAddress remoteSystemAddress, RakNet::TimeMS time, int isSend)
 
virtual void OnAck (unsigned int messageNumber, SystemAddress remoteSystemAddress, RakNet::TimeMS time)
 
virtual void OnPushBackPacket (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
 

Detailed Description

Use RakNetTransport if you need a secure connection between the client and the console server.

RakNetTransport automatically initializes security for the system. Use the project CommandConsoleClient to connect To the ConsoleServer if you use RakNetTransport

Member Function Documentation

void RakNet::RakNetTransport2::CloseConnection ( SystemAddress  systemAddress)
virtual

Disconnect systemAddress . The binary address and port defines the SystemAddress structure.

Parameters
[in]systemAddressThe player/address to disconnect

Implements RakNet::TransportInterface.

void RakNet::RakNetTransport2::DeallocatePacket ( Packet packet)
virtual

Deallocate the Packet structure returned by Receive

Parameters
[in]Thepacket to deallocate

Implements RakNet::TransportInterface.

virtual CommandParserInterface* RakNet::RakNetTransport2::GetCommandParser ( void  )
inlinevirtual

Your transport provider can itself have command parsers if the transport layer has user-modifiable features For example, your transport layer may have a password which you want remote users to be able to set or you may want to allow remote users to turn on or off command echo

Returns
0 if you do not need a command parser - otherwise the desired derivation of CommandParserInterface

Implements RakNet::TransportInterface.

SystemAddress RakNet::RakNetTransport2::HasLostConnection ( void  )
virtual

If a system loses the connection, you should queue that event and return the systemAddress/address of that player in this function.

Returns
The SystemAddress/address of the system

Implements RakNet::TransportInterface.

SystemAddress RakNet::RakNetTransport2::HasNewIncomingConnection ( void  )
virtual

If a new system connects to you, you should queue that event and return the systemAddress/address of that player in this function.

Returns
The SystemAddress/address of the system

Implements RakNet::TransportInterface.

virtual void RakNet::RakNetTransport2::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

Parameters
[in]systemAddressThe system whose connection was closed
[in]rakNetGuidThe guid of the specified system
[in]lostConnectionReasonHow the connection was closed: manually, connection lost, or notification of disconnection

Reimplemented from RakNet::PluginInterface2.

virtual void RakNet::RakNetTransport2::OnNewConnection ( const SystemAddress systemAddress,
RakNetGUID  rakNetGUID,
bool  isIncoming 
)
virtual

Called when we got a new connection

Parameters
[in]systemAddressAddress of the new connection
[in]rakNetGuidThe guid of the specified system
[in]isIncomingIf true, this is ID_NEW_INCOMING_CONNECTION, or the equivalent

Reimplemented from RakNet::PluginInterface2.

virtual PluginReceiveResult RakNet::RakNetTransport2::OnReceive ( Packet packet)
virtual

OnReceive is called for every packet.

Parameters
[in]packetthe packet that is being returned to the user
Returns
True to allow the game and other plugins to get this message, false to absorb it

Reimplemented from RakNet::PluginInterface2.

Packet* RakNet::RakNetTransport2::Receive ( void  )
virtual

Return a string. The string should be allocated and written to Packet::data . The byte length should be written to Packet::length . The player/address should be written to Packet::systemAddress If your transport protocol adds special formatting to the data stream you should parse it out before returning it in the packet and thus only return a string in Packet::data

Returns
The packet structure containing the result of Receive, or 0 if no data is available

Implements RakNet::TransportInterface.

void RakNet::RakNetTransport2::Send ( SystemAddress  systemAddress,
const char *  data,
  ... 
)
virtual

Send a null-terminated string to systemAddress If your transport method requires particular formatting of the outgoing data (e.g. you don't just send strings) you can do it here and parse it out in Receive().

Parameters
[in]systemAddressThe player to send the string to
[in]dataformat specifier - same as RAKNET_DEBUG_PRINTF
[in]...format specification arguments - same as RAKNET_DEBUG_PRINTF

Implements RakNet::TransportInterface.

bool RakNet::RakNetTransport2::Start ( unsigned short  port,
bool  serverMode 
)
virtual

Start the transport provider on the indicated port.

Parameters
[in]portThe port to start the transport provider on
[in]serverModeIf true, you should allow incoming connections (I don't actually use this anywhere)
Returns
Return true on success, false on failure.

Implements RakNet::TransportInterface.


The documentation for this class was generated from the following file: