Skip to main content

MLAPI.Transports.NetworkTransport

A network transport

Inheritance#

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

Inherited Members#

MonoBehaviour.IsInvoking()

MonoBehaviour.CancelInvoke()

MonoBehaviour.Invoke(String, Single)

MonoBehaviour.InvokeRepeating(String, Single, Single)

MonoBehaviour.CancelInvoke(String)

MonoBehaviour.IsInvoking(String)

MonoBehaviour.StartCoroutine(String)

MonoBehaviour.StartCoroutine(String, Object)

MonoBehaviour.StartCoroutine(IEnumerator)

MonoBehaviour.StartCoroutine_Auto(IEnumerator)

MonoBehaviour.StopCoroutine(IEnumerator)

MonoBehaviour.StopCoroutine(Coroutine)

MonoBehaviour.StopCoroutine(String)

MonoBehaviour.StopAllCoroutines()

MonoBehaviour.print(Object)

MonoBehaviour.useGUILayout

MonoBehaviour.runInEditMode

Behaviour.enabled

Behaviour.isActiveAndEnabled

Component.GetComponent(Type)

Component.GetComponent<T>()

Component.GetComponent(String)

Component.GetComponentInChildren(Type, Boolean)

Component.GetComponentInChildren(Type)

Component.GetComponentInChildren<T>(Boolean)

Component.GetComponentInChildren<T>()

Component.GetComponentsInChildren(Type, Boolean)

Component.GetComponentsInChildren(Type)

Component.GetComponentsInChildren<T>(Boolean)

Component.GetComponentsInChildren<T>(Boolean, List<T>)"

Component.GetComponentsInChildren<T>()

Component.GetComponentsInChildren<T>(List<T>)"

Component.GetComponentInParent(Type)

Component.GetComponentInParent<T>()

Component.GetComponentsInParent(Type, Boolean)

Component.GetComponentsInParent(Type)

Component.GetComponentsInParent<T>(Boolean)

Component.GetComponentsInParent<T>(Boolean, List<T>)"

Component.GetComponentsInParent<T>()

Component.GetComponents(Type)

Component.GetComponents(Type, List<Component>)

Component.GetComponents<T>(List<T>)"

Component.GetComponents<T>()

Component.CompareTag(String)

Component.SendMessageUpwards(String, Object, SendMessageOptions)

Component.SendMessageUpwards(String, Object)

Component.SendMessageUpwards(String)

Component.SendMessageUpwards(String, SendMessageOptions)

Component.SendMessage(String, Object)

Component.SendMessage(String)

Component.SendMessage(String, Object, SendMessageOptions)

Component.SendMessage(String, SendMessageOptions)

Component.BroadcastMessage(String, Object, SendMessageOptions)

Component.BroadcastMessage(String, Object)

Component.BroadcastMessage(String)

Component.BroadcastMessage(String, SendMessageOptions)

Component.transform

Component.gameObject

Component.tag

Component.rigidbody

Component.rigidbody2D

Component.camera

Component.light

Component.animation

Component.constantForce

Component.renderer

Component.audio

Component.guiText

Component.networkView

Component.guiElement

Component.guiTexture

Component.collider

Component.collider2D

Component.hingeJoint

Component.particleEmitter

Component.particleSystem

Object.GetInstanceID()

Object.GetHashCode()

Object.Equals(Object)

Object.Instantiate(Object, Vector3, Quaternion)

Object.Instantiate(Object, Vector3, Quaternion, Transform)

Object.Instantiate(Object)

Object.Instantiate(Object, Transform)

Object.Instantiate(Object, Transform, Boolean)

Object.Instantiate<T>(T)"

Object.Instantiate<T>(T, Vector3, Quaternion)"

Object.Instantiate<T>(T, Vector3, Quaternion, Transform)"

Object.Instantiate<T>(T, Transform)"

Object.Instantiate<T>(T, Transform, Boolean)"

Object.Destroy(Object, Single)

Object.Destroy(Object)

Object.DestroyImmediate(Object, Boolean)

Object.DestroyImmediate(Object)

Object.FindObjectsOfType(Type)

Object.DontDestroyOnLoad(Object)

Object.DestroyObject(Object, Single)

Object.DestroyObject(Object)

Object.FindSceneObjectsOfType(Type)

Object.FindObjectsOfTypeIncludingAssets(Type)

Object.FindObjectsOfType<T>()

Object.FindObjectOfType<T>()

Object.FindObjectsOfTypeAll(Type)

Object.FindObjectOfType(Type)

Object.ToString()

Object.name

Object.hideFlags

Object.Equals(Object, Object)

Object.GetType()

Object.MemberwiseClone()

Object.ReferenceEquals(Object, Object)

Namespace: System.Dynamic.ExpandoObject#
Assembly: MLAPI.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#

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

MLAPI_CHANNELS#

Declaration#

public TransportChannel[] MLAPI_CHANNELS { get; }

Property Value#

TypeDescription
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#

TypeDescription
System.UInt64

Methods#

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

Init()#

Initializes the transport

Declaration#

public abstract void Init()

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

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#

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

PollEvent(out UInt64, out NetworkChannel, 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 NetworkChannel networkChannel, out ArraySegment<byte> payload, out float receiveTime)

Parameters#

TypeNameDescription
System.UInt64clientIdThe clientId this event is for
NetworkChannelnetworkChannel
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>, NetworkChannel)#

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

Declaration#

public abstract void Send(ulong clientId, ArraySegment<byte> data, NetworkChannel networkChannel)

Parameters#

TypeNameDescription
System.UInt64clientIdThe clientId to send to
System.ArraySegment<System.Byte>dataThe data to send
NetworkChannelnetworkChannel

Shutdown()#

Shuts down the transport

Declaration#

public abstract void Shutdown()

StartClient()#

Connects client to server

Declaration#

public abstract SocketTasks StartClient()

Returns#

TypeDescription
SocketTasks

StartServer()#

Starts to listen for incoming clients.

Declaration#

public abstract SocketTasks StartServer()

Returns#

TypeDescription
SocketTasks

Events#

OnChannelRegistration#

Delegate called when the transport wants to know what channels to register.

Declaration#

public event NetworkTransport.RequestChannelsDelegate OnChannelRegistration

Event Type#

TypeDescription
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#

TypeDescription
NetworkTransport.TransportEventDelegate