Class NetworkTransport
A network transport
Inherited Members
Namespace: MLAPI.Transports
Assembly: Unity.Multiplayer.MLAPI.Runtime.dll
Syntax
public abstract class NetworkTransport : MonoBehaviour
Properties
IsSupported
Gets a value indicating whether this MLAPI.Transports.Transport is supported in the current runtime context. This is used by multiplex adapters.
Declaration
public virtual bool IsSupported { get; }
Property Value
Type | Description |
---|---|
bool |
|
MLAPI_CHANNELS
Declaration
public TransportChannel[] MLAPI_CHANNELS { get; }
Property Value
Type | Description |
---|---|
TransportChannel[] |
ServerClientId
A constant clientId that represents the server. When this value is found in methods such as Send, it should be treated as a placeholder that means "the server"
Declaration
public abstract ulong ServerClientId { get; }
Property Value
Type | Description |
---|---|
ulong |
Methods
DisconnectLocalClient()
Disconnects the local client from the server
Declaration
public abstract void DisconnectLocalClient()
DisconnectRemoteClient(ulong)
Disconnects a client from the server
Declaration
public abstract void DisconnectRemoteClient(ulong clientId)
Parameters
Type | Name | Description |
---|---|---|
ulong | clientId | The clientId to disconnect |
GetCurrentRtt(ulong)
Gets the round trip time for a specific client. This method is optional
Declaration
public abstract ulong GetCurrentRtt(ulong clientId)
Parameters
Type | Name | Description |
---|---|---|
ulong | clientId | The clientId to get the rtt from |
Returns
Type | Description |
---|---|
ulong | Returns the round trip time in milliseconds |
Init()
Initializes the transport
Declaration
public abstract void Init()
InvokeOnTransportEvent(NetworkEvent, ulong, NetworkChannel, ArraySegment<byte>, float)
Invokes the OnTransportEvent. Invokation has to occur on the Unity thread in the Update loop.
Declaration
protected void InvokeOnTransportEvent(NetworkEvent type, ulong clientId, NetworkChannel networkChannel, ArraySegment<byte> payload, float receiveTime)
Parameters
Type | Name | Description |
---|---|---|
NetworkEvent | type | The event type |
ulong | clientId | The clientId this event is for |
NetworkChannel | networkChannel | |
ArraySegment<byte> | payload | The incoming data payload |
float | receiveTime | The time the event was received, as reported by Time.realtimeSinceStartup. |
PollEvent(out ulong, out NetworkChannel, out ArraySegment<byte>, out float)
Polls for incoming events, with an extra output parameter to report the precise time the event was received.
Declaration
public abstract NetworkEvent PollEvent(out ulong clientId, out NetworkChannel networkChannel, out ArraySegment<byte> payload, out float receiveTime)
Parameters
Type | Name | Description |
---|---|---|
ulong | clientId | The clientId this event is for |
NetworkChannel | networkChannel | |
ArraySegment<byte> | payload | The incoming data payload |
float | receiveTime | The time the event was received, as reported by Time.realtimeSinceStartup. |
Returns
Type | Description |
---|---|
NetworkEvent | Returns the event type |
Send(ulong, ArraySegment<byte>, NetworkChannel)
Send a payload to the specified clientId, data and channelName.
Declaration
public abstract void Send(ulong clientId, ArraySegment<byte> data, NetworkChannel networkChannel)
Parameters
Type | Name | Description |
---|---|---|
ulong | clientId | The clientId to send to |
ArraySegment<byte> | data | The data to send |
NetworkChannel | networkChannel |
Shutdown()
Shuts down the transport
Declaration
public abstract void Shutdown()
StartClient()
Connects client to server
Declaration
public abstract SocketTasks StartClient()
Returns
Type | Description |
---|---|
SocketTasks |
StartServer()
Starts to listen for incoming clients.
Declaration
public abstract SocketTasks StartServer()
Returns
Type | Description |
---|---|
SocketTasks |
Events
OnChannelRegistration
Delegate called when the transport wants to know what channels to register.
Declaration
public event NetworkTransport.RequestChannelsDelegate OnChannelRegistration
Event Type
Type | Description |
---|---|
NetworkTransport.RequestChannelsDelegate |
OnTransportEvent
Occurs when the transport has a new transport event. Can be used to make an event based transport instead of a poll based. Invokation has to occur on the Unity thread in the Update loop.
Declaration
public event NetworkTransport.TransportEventDelegate OnTransportEvent
Event Type
Type | Description |
---|---|
NetworkTransport.TransportEventDelegate |