Navigation
API > API/Plugins > API/Plugins/OnlineSubsystemUtils
| Name | UIpNetDriver |
| Type | class |
| Header File | /Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Classes/IpNetDriver.h |
| Include Path | #include "IpNetDriver.h" |
Syntax
UCLASS (MinimalAPI, Transient, Config=Engine)
class UIpNetDriver : public UNetDriver
Inheritance Hierarchy
- FExec → UNetDriver → UIpNetDriver
- UObjectBase → UObjectBaseUtility → UObject → UNetDriver → UIpNetDriver
Derived Classes
UIpNetDriver derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UIpNetDriver
(
const FObjectInitializer& ObjectInitializer |
Base constructorUIpNetDriver | IpNetDriver.h |
Classes
| Name | Remarks |
|---|---|
| FReceiveThreadRunnable | Runnable object representing the receive thread, if enabled. |
Structs
| Name | Remarks |
|---|---|
| FAggregatedIP | New IP aggregated logging entry |
| FReceivedPacket | Represents a packet received and/or error encountered by the receive thread, if enabled, queued for the game thread to process. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnNetworkProcessingCausingSlowFrame | TMulticastDelegate_NoParams< void > | Callback for platform handling when networking is taking a long time in a single frame (by default over 1 second). | IpNetDriver.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| OnNetworkProcessingCausingSlowFrame | FOnNetworkProcessingCausingSlowFrame | IpNetDriver.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllowPlayerPortUnreach | uint32 | Does the game allow clients to remain after receiving ICMP port unreachable errors (handles flakey connections) | IpNetDriver.h |
|
| bExitOnBindFailure | uint32 | Whether to exit if binding a port failed. | IpNetDriver.h |
|
| LogPortUnreach | uint32 | Should port unreachable messages be logged | IpNetDriver.h |
|
| MaxPortCountToTry | uint32 | Number of ports which will be tried if current one is not available for binding (i.e. if told to bind to port N, will try from N to N+MaxPortCountToTry inclusive) | IpNetDriver.h |
|
| PauseReceiveEnd | float | If pausing socket receives, the time at which this should end | IpNetDriver.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AggregatedIPsToLog | TArray< FAggregatedIP > | List of IP's queued for aggregated logging | IpNetDriver.h | |
| bExceededIPAggregationLimit | bool | Whether or not IP hash tracking or aggregated IP limits have been reached. | IpNetDriver.h | |
| bSupportsRecreateSocket | bool | Whether or not this NetDriver supports recreating the socket | IpNetDriver.h | |
| ClientDesiredSocketReceiveBufferBytes | uint32 | Number of bytes that will be passed to FSocket::SetReceiveBufferSize when initializing a client. | IpNetDriver.h |
|
| ClientDesiredSocketSendBufferBytes | uint32 | Number of bytes that will be passed to FSocket::SetSendBufferSize when initializing a client. | IpNetDriver.h |
|
| LastRecreateSocketTime | double | The last time socket recreation was kicked off or completed. | IpNetDriver.h | |
| MaxSecondsInReceive | double | Maximum time in seconds the TickDispatch can loop on received socket data | IpNetDriver.h |
|
| NbPacketsBetweenReceiveTimeTest | int32 | Nb of packets to wait before testing if the receive time went over MaxSecondsInReceive | IpNetDriver.h |
|
| NewIPHashes | TArray< uint32 > | Hashes for new pre-connection IP's that are being tracked | IpNetDriver.h | |
| NewIPHitCount | TArray< uint32 > | Number of times each 'NewIPHashes' IP was encountered, in the current tracking period | IpNetDriver.h | |
| NextAggregateIPLogCountdown | double | Countdown timer for the current IP aggregation tracking period | IpNetDriver.h | |
| RecvMultiState | TUniquePtr< FRecvMulti > | The preallocated state/buffers, for efficiently executing RecvMulti | IpNetDriver.h | |
| ResolutionConnectionTimeout | float | The amount of time to wait in seconds until we consider a connection to a resolution result as timed out | IpNetDriver.h |
|
| Resolver | TPimplPtr< UE::Net::Private::FNetDriverAddressResolution > | NetConnection specific address resolution | IpNetDriver.h | |
| ServerDesiredSocketReceiveBufferBytes | uint32 | Number of bytes that will be passed to FSocket::SetReceiveBufferSize when initializing a server. | IpNetDriver.h |
|
| ServerDesiredSocketSendBufferBytes | uint32 | Number of bytes that will be passed to FSocket::SetSendBufferSize when initializing a server. | IpNetDriver.h |
|
| SocketPrivate | TSharedPtr< FSocket > | Underlying socket communication | IpNetDriver.h | |
| SocketReceiveThread | TUniquePtr< FRunnableThread > | Receive thread object. | IpNetDriver.h | |
| SocketReceiveThreadRunnable | TUniquePtr< FReceiveThreadRunnable > | Receive thread runnable object. | IpNetDriver.h | |
| SocketState | ESocketState | The state of the NetDriver socket (e.g. ready, resolving, recreating etc.) | IpNetDriver.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int GetClientPort () |
Returns the port number to use when a client is creating a socket. | IpNetDriver.h | |
double GetLastRecreateSocketTime() |
Returns the last time socket recreation was kicked off or completed | IpNetDriver.h | |
float GetResolutionTimeoutValue() |
IpNetDriver.h | ||
UIpConnection * GetServerConnection() |
IpNetDriver.h | ||
| Returns the current FSocket to be used with this NetDriver. | IpNetDriver.h | ||
bool HandlePauseReceiveCommand
(
const TCHAR* Cmd, |
IpNetDriver.h | ||
bool HandleRecreateSocketCommand
(
const TCHAR* Cmd, |
IpNetDriver.h | ||
bool HandleSocketsCommand
(
const TCHAR* Cmd, |
Exec command handlers | IpNetDriver.h | |
UE::Net::ERecreateSocketResult RecreateSocket
(
int32 OverridePort |
Creates a new Socket for the NetDriver/NetConnection's, based on the address/binding of the existing socket, with a new ephemeral port. | IpNetDriver.h | |
void SetSocketAndLocalAddress
(
const TSharedPtr< FSocket >& SharedSocket |
Set the current NetDriver's Socket/LocalAddr to the given socket (typically after Net Address Resolution). | IpNetDriver.h | |
void TestSuddenPortChange
(
uint32 NumConnections |
Tests a scenario where a connected client suddenly starts sending traffic on a different port (can happen due to a rare router bug. | IpNetDriver.h |
Overridden from UNetDriver
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ISocketSubsystem * GetSocketSubsystem() |
IpNetDriver.h | ||
virtual bool InitBase
(
bool bInitAsClient, |
IpNetDriver.h | ||
virtual bool InitConnect
(
FNetworkNotify* InNotify, |
IpNetDriver.h | ||
virtual bool InitListen
(
FNetworkNotify* InNotify, |
IpNetDriver.h | ||
virtual bool IsAvailable() |
IpNetDriver.h | ||
virtual bool IsNetResourceValid() |
IpNetDriver.h | ||
virtual void LowLevelDestroy() |
IpNetDriver.h | ||
virtual FString LowLevelGetNetworkNumber() |
IpNetDriver.h | ||
virtual void LowLevelSend
(
TSharedPtr< const FInternetAddr > Address, |
IpNetDriver.h | ||
virtual void TickDispatch
(
float DeltaTime |
IpNetDriver.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FUniqueSocket CreateAndBindSocket
(
TSharedRef< FInternetAddr > BindAddr, |
Creates, initializes and binds a socket using the given bind address information. | IpNetDriver.h | |
virtual FUniqueSocket CreateSocketForProtocol
(
const FName& ProtocolType |
Creates a socket set up for communication using the given protocol. | IpNetDriver.h | |
void SetSupportsRecreateSocket
(
bool bInSupportsRecreateSocket |
Called by NetDriver subclasses, to specify whether or not they support recreating the active socket | IpNetDriver.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool IsRecvFailBlocking
(
ESocketErrors Error |
Whether or not a socket receive failure Error indicates a blocking error, which should 'break;' the receive loop | IpNetDriver.h |