Skip to main content

Unity.Netcode.NetworkTransport

Inheritance#

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

Namespace: System.Dynamic.ExpandoObject#
Assembly: MLAPI.dll#
Syntax#
public abstract class NetworkTransport : MonoBehaviour

IsSupported#

Gets a value indicating whether this NetworkTransport is supported in the current runtime context This is used by multiplex adapters

Declaration#

public virtual bool IsSupported { get; }

Property Value#

TypeDescription
System.Booleantrue if is supported; otherwise, false.

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#

TypeDescription
System.UInt64

#

DisconnectLocalClient()#

Disconnects the local client from the server

Declaration#

public abstract void DisconnectLocalClient()

DisconnectRemoteClient(UInt64)#

Disconnects a client from the server

Declaration#

public abstract void DisconnectRemoteClient(ulong clientId)

Parameters#

TypeNameDescription
System.UInt64clientIdThe clientId to disconnect

GetCurrentRtt(UInt64)#

Gets the round trip time for a specific client. This method is optional

Declaration#

public abstract ulong GetCurrentRtt(ulong clientId)

Parameters#

TypeNameDescription
System.UInt64clientIdThe clientId to get the RTT from

Returns#

TypeDescription
System.UInt64Returns the round trip time in milliseconds

Initialize()#

Initializes the transport

Declaration#

public abstract void Initialize()

InvokeOnTransportEvent(NetworkEvent, UInt64, ArraySegment\<Byte> Single)#

Invokes the OnTransportEvent. Invokation has to occur on the Unity thread in the Update loop.

Declaration#

protected void InvokeOnTransportEvent(NetworkEvent eventType, ulong clientId, ArraySegment<byte> payload, float receiveTime)

Parameters#

TypeNameDescription
NetworkEventeventTypeThe event type
System.UInt64clientIdThe clientId this event is for
System.ArraySegment\<System.Byte>payloadThe incoming data payload
System.SinglereceiveTimeThe time the event was received, as reported by Time.realtimeSinceStartup.

PollEvent(out UInt64, out ArraySegment\<Byte>, out Single)#

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 ArraySegment<byte> payload, out float receiveTime)

Parameters#

TypeNameDescription
System.UInt64clientIdThe clientId this event is for
System.ArraySegment\<System.Byte>payloadThe incoming data payload
System.SinglereceiveTimeThe time the event was received, as reported by Time.realtimeSinceStartup.

Returns#

TypeDescription
NetworkEventReturns the event type

Send(UInt64, ArraySegment\<Byte>, NetworkDelivery)#

Send a payload to the specified clientId, data and channelName.

Declaration#

public abstract void Send(ulong clientId, ArraySegment<byte> payload, NetworkDelivery networkDelivery)

Parameters#

TypeNameDescription
System.UInt64clientIdThe clientId to send to
System.ArraySegment\<System.Byte>payloadThe data to send
NetworkDeliverynetworkDeliveryThe delivery type (QoS) to send data with

Shutdown()#

Shuts down the transport

Declaration#

public abstract void Shutdown()

StartClient()#

Connects client to the server

Declaration#

public abstract bool StartClient()

Returns#

TypeDescription
System.Boolean

StartServer()#

Starts to listening for incoming clients

Declaration#

public abstract bool StartServer()

Returns#

TypeDescription
System.Boolean

#

OnTransportEvent#

Occurs when the transport has a new transport network event. Can be used to make an event based transport instead of a poll based. Invocation has to occur on the Unity thread in the Update loop.

Declaration#

public event NetworkTransport.TransportEventDelegate OnTransportEvent

Event Type#

TypeDescription
NetworkTransport.TransportEventDelegate