Navigation
API > API/Plugins > API/Plugins/SocketSubsystemSteamIP
Windows specific socket subsystem implementation
| Name | FSocketSubsystemSteam |
| Type | class |
| Header File | /Engine/Plugins/Online/SocketSubsystemSteamIP/Source/SocketSubsystemSteamIP/Public/SocketSubsystemSteam.h |
| Include Path | #include "SocketSubsystemSteam.h" |
Syntax
class FSocketSubsystemSteam :
public ISocketSubsystem ,
public FTSTickerObjectBase ,
public FSelfRegisteringExec
Inheritance Hierarchy
- FExec → FSelfRegisteringExec → FSocketSubsystemSteam
- FTSTickerObjectBase → FSocketSubsystemSteam
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSocketSubsystemSteam() |
SocketSubsystemSteam.h |
Structs
| Name | Remarks |
|---|---|
| FSteamP2PConnectionInfo | Holds Steam connection information for each user |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| SocketSingleton | FSocketSubsystemSteam * | Single instantiation of this subsystem | SocketSubsystemSteam.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| LastSocketError | int32 | Last error set by the socket subsystem or one of its sockets | SocketSubsystemSteam.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void UpdateGameServerId
(
const CSteamID& InGameServerCSID |
If the session interface wishes to bring up a game server socket, it must call this first when the policy response has been received to update us with the corresponding SteamId to use in the socket layer | SocketSubsystemSteam.h |
Overridden from ISocketSubsystem
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TSharedRef< FInternetAddr > CreateInternetAddr() |
Create a proper FInternetAddr representation | SocketSubsystemSteam.h | |
| Creates a socket@Param SocketType type of socket to create (DGram, Stream, etc) | SocketSubsystemSteam.h | ||
virtual void DestroySocket
(
FSocket* Socket |
Cleans up a socket class | SocketSubsystemSteam.h | |
virtual TSharedPtr< FInternetAddr > GetAddressFromString
(
const FString& IPAddress |
Serializes a string that only contains an address. | SocketSubsystemSteam.h | |
virtual FAddressInfoResult GetAddressInfo
(
const TCHAR* HostName, |
Gets the address information of the given hostname and outputs it into an array of resolvable addresses. | SocketSubsystemSteam.h | |
virtual bool GetHostName
(
FString& HostName |
Determines the name of the local machine | SocketSubsystemSteam.h | |
virtual ESocketErrors GetLastErrorCode() |
Returns the last error that has happened | SocketSubsystemSteam.h | |
virtual bool GetLocalAdapterAddresses
(
TArray< TSharedPtr< FInternetAddr > >& OutAddresses |
Gets the list of addresses associated with the adapters on the local computer. | SocketSubsystemSteam.h | |
virtual TArray< TSharedRef< FInternetAddr > > GetLocalBindAddresses() |
Get local IP to bind to | SocketSubsystemSteam.h | |
virtual const TCHAR * GetSocketAPIName() |
Get the name of the socket subsystem | SocketSubsystemSteam.h | |
virtual bool HasNetworkDevice() |
SocketSubsystemSteam.h | ||
| Does Windows platform initialization of the sockets library | SocketSubsystemSteam.h | ||
virtual bool IsSocketWaitSupported() |
Waiting on a socket is not supported. | SocketSubsystemSteam.h | |
virtual bool RequiresChatDataBeSeparate () |
Some platforms require chat data (voice, text, etc.) to be placed into packets in a special way. | SocketSubsystemSteam.h | |
virtual bool RequiresEncryptedPackets () |
Some platforms require packets be encrypted. | SocketSubsystemSteam.h | |
virtual void Shutdown() |
Performs platform specific socket clean up | SocketSubsystemSteam.h | |
virtual ESocketErrors TranslateErrorCode
(
int32 Code |
Translates the platform error code to a ESocketErrors enum | SocketSubsystemSteam.h |
Overridden from FTSTickerObjectBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool Tick
(
float DeltaTime |
Chance for the socket subsystem to get some time | SocketSubsystemSteam.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AcceptP2PConnection
(
ISteamNetworking* SteamNetworkingPtr, |
Potentially accept an incoming connection from a Steam P2P request | SocketSubsystemSteam.h | |
void AddSocket
(
FSocketSteam* InSocket |
Adds a steam socket for tracking | SocketSubsystemSteam.h | |
void CleanupDeadConnections
(
bool bSkipLinger |
Iterate through the pending dead connections and permanently remove any that have been around long enough to flush their contents | SocketSubsystemSteam.h | |
void ConnectFailure
(
const CSteamID& RemoteId |
Notification from the Steam event layer that a remote connection has completely failed | SocketSubsystemSteam.h | |
void DumpAllOpenSteamSessions() |
Dumps all connection information for each user connection over SteamNet. | SocketSubsystemSteam.h | |
void DumpSteamP2PSessionInfo
(
P2PSessionState_t& SessionInfo |
Dumps the Steam P2P networking information for a given session state | SocketSubsystemSteam.h | |
void FixupSockets
(
const CSteamID& GameServerId |
Associate the game server steam id with any sockets that were created prior to successful login | SocketSubsystemSteam.h | |
bool IsConnectionPendingRemoval
(
const CSteamID& SteamId, |
Checks to see if a Steam P2P Connection is pending close on the given channel. | SocketSubsystemSteam.h | |
void OnP2PSessionConnectFail
(
P2PSessionConnectFail_t* |
Delegate registered with Steam to trigger when a connection between two steam P2P endpoints fails | SocketSubsystemSteam.h | |
void OnP2PSessionConnectFailGS
(
P2PSessionConnectFail_t* |
Delegate registered with Steam to trigger when a connection between two steam P2P endpoints fails (gameserver API) | SocketSubsystemSteam.h | |
void OnP2PSessionRequest
(
P2PSessionRequest_t* |
Delegate registered with Steam to trigger when another Steam client makes a P2P call to this instance | SocketSubsystemSteam.h | |
void OnP2PSessionRequestGS
(
P2PSessionRequest_t* |
Delegate registered with Steam to trigger when another Steam client makes a P2P call to this instance (gameserver API) | SocketSubsystemSteam.h | |
void OnSteamServersConnectedGS
(
SteamServersConnected_t* |
Delegate registered with Steam to trigger when a server (gameserver API) is connected to the Steam servers. | SocketSubsystemSteam.h | |
void P2PRemove
(
const CSteamID& SessionId, |
Remove a Steam P2P session from tracking and close the connection | SocketSubsystemSteam.h | |
bool P2PTouch
(
ISteamNetworking* SteamNetworkingPtr, |
Add/update a Steam P2P connection as being recently accessed | SocketSubsystemSteam.h | |
void RegisterConnection
(
USteamNetConnection* Connection |
Adds a steam connection for tracking | SocketSubsystemSteam.h | |
void RemoveSocket
(
FSocketSteam* InSocket |
Removes a steam socket from tracking | SocketSubsystemSteam.h | |
bool ShouldOverrideDefaultSubsystem () |
Determines if the SocketSubsystemSteam should override the platform socket subsystem. | SocketSubsystemSteam.h | |
void UnregisterConnection
(
USteamNetConnection* Connection |
Removes a steam connection from tracking | SocketSubsystemSteam.h |
Overridden from FExec
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool Exec_Dev
(
UWorld* InWorld, |
FSelfRegisteringExec. | SocketSubsystemSteam.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FSocketSubsystemSteam * Create() |
Singleton interface for this subsystem | SocketSubsystemSteam.h | |
static void Destroy() |
Performs Windows specific socket clean upPerforms Steam specific socket clean up | SocketSubsystemSteam.h |