Class NetworkTransport
The generic transport class all Netcode for GameObjects network transport implementations derive from. Use this class to add a custom transport. for an example of how a transport is integrated
#
InheritanceSystem.Object
NetworkTransport
UnityTransport
#
Namespace: Unity.Netcode#
Assembly: MLAPI.dll#
Syntax#
Properties#
IsSupportedGets a value indicating whether this NetworkTransport is supported in the current runtime context This is used by multiplex adapters
#
Declaration#
Property ValueType | Description |
---|---|
System.Boolean | true if is supported; otherwise, false . |
#
ServerClientIdA 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#
Property ValueType | Description |
---|---|
System.UInt64 |
#
Methods#
DisconnectLocalClient()Disconnects the local client from the server
#
Declaration#
DisconnectRemoteClient(UInt64)Disconnects a client from the server
#
Declaration#
ParametersType | Name | Description |
---|---|---|
System.UInt64 | clientId | The clientId to disconnect |
#
GetCurrentRtt(UInt64)Gets the round trip time for a specific client. This method is optional
#
Declaration#
ParametersType | Name | Description |
---|---|---|
System.UInt64 | clientId | The clientId to get the RTT from |
#
ReturnsType | Description |
---|---|
System.UInt64 | Returns the round trip time in milliseconds |
#
Initialize(NetworkManager)Initializes the transport
#
Declaration#
ParametersType | Name | Description |
---|---|---|
NetworkManager | networkManager | optionally pass in NetworkManager |
#
InvokeOnTransportEvent(NetworkEvent, UInt64, ArraySegment\<Byte>, Single)Invokes the OnTransportEvent. Invokation has to occur on the Unity thread in the Update loop.
#
Declaration#
ParametersType | Name | Description |
---|---|---|
NetworkEvent | eventType | The event type |
System.UInt64 | clientId | The clientId this event is for |
System.ArraySegment\<System.Byte> | payload | The incoming data payload |
System.Single | receiveTime | The 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#
ParametersType | Name | Description |
---|---|---|
System.UInt64 | clientId | The clientId this event is for |
System.ArraySegment\<System.Byte> | payload | The incoming data payload |
System.Single | receiveTime | The time the event was received, as reported by Time.realtimeSinceStartup. |
#
ReturnsType | Description |
---|---|
NetworkEvent | Returns the event type |
#
Send(UInt64, ArraySegment\<Byte>, NetworkDelivery)Send a payload to the specified clientId, data and networkDelivery.
#
Declaration#
ParametersType | Name | Description |
---|---|---|
System.UInt64 | clientId | The clientId to send to |
System.ArraySegment\<System.Byte> | payload | The data to send |
NetworkDelivery | networkDelivery | The delivery type (QoS) to send data with |
#
Shutdown()Shuts down the transport
#
Declaration#
StartClient()Connects client to the server
#
Declaration#
ReturnsType | Description |
---|---|
System.Boolean | Returns success or failure |
#
StartServer()Starts to listening for incoming clients
#
Declaration#
ReturnsType | Description |
---|---|
System.Boolean | Returns success or failure |
#
Events#
OnTransportEventOccurs 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#
Event TypeType | Description |
---|---|
NetworkTransport.TransportEventDelegate |