Show / Hide Table of Contents

Class NetworkManagerJson

A Unity component that represents a network manager. This class manages network connections, message handlers, and server state.

Inheritance
System.Object
UnityEngine.Object
UnityEngine.Component
UnityEngine.Behaviour
UnityEngine.MonoBehaviour
NetworkManagerJson
Inherited Members
UnityEngine.MonoBehaviour.IsInvoking()
UnityEngine.MonoBehaviour.CancelInvoke()
UnityEngine.MonoBehaviour.Invoke(System.String, System.Single)
UnityEngine.MonoBehaviour.InvokeRepeating(System.String, System.Single, System.Single)
UnityEngine.MonoBehaviour.CancelInvoke(System.String)
UnityEngine.MonoBehaviour.IsInvoking(System.String)
UnityEngine.MonoBehaviour.StartCoroutine(System.String)
UnityEngine.MonoBehaviour.StartCoroutine(System.String, System.Object)
UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator)
UnityEngine.MonoBehaviour.StartCoroutine_Auto(System.Collections.IEnumerator)
UnityEngine.MonoBehaviour.StopCoroutine(System.Collections.IEnumerator)
UnityEngine.MonoBehaviour.StopCoroutine(UnityEngine.Coroutine)
UnityEngine.MonoBehaviour.StopCoroutine(System.String)
UnityEngine.MonoBehaviour.StopAllCoroutines()
UnityEngine.MonoBehaviour.print(System.Object)
UnityEngine.MonoBehaviour.useGUILayout
UnityEngine.MonoBehaviour.runInEditMode
UnityEngine.Behaviour.enabled
UnityEngine.Behaviour.isActiveAndEnabled
UnityEngine.Component.GetComponent(System.Type)
UnityEngine.Component.GetComponent<T>()
UnityEngine.Component.GetComponent(System.String)
UnityEngine.Component.GetComponentInChildren(System.Type, System.Boolean)
UnityEngine.Component.GetComponentInChildren(System.Type)
UnityEngine.Component.GetComponentInChildren<T>(System.Boolean)
UnityEngine.Component.GetComponentInChildren<T>()
UnityEngine.Component.GetComponentsInChildren(System.Type, System.Boolean)
UnityEngine.Component.GetComponentsInChildren(System.Type)
UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean)
UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean, System.Collections.Generic.List<T>)
UnityEngine.Component.GetComponentsInChildren<T>()
UnityEngine.Component.GetComponentsInChildren<T>(System.Collections.Generic.List<T>)
UnityEngine.Component.GetComponentInParent(System.Type)
UnityEngine.Component.GetComponentInParent<T>()
UnityEngine.Component.GetComponentsInParent(System.Type, System.Boolean)
UnityEngine.Component.GetComponentsInParent(System.Type)
UnityEngine.Component.GetComponentsInParent<T>(System.Boolean)
UnityEngine.Component.GetComponentsInParent<T>(System.Boolean, System.Collections.Generic.List<T>)
UnityEngine.Component.GetComponentsInParent<T>()
UnityEngine.Component.GetComponents(System.Type)
UnityEngine.Component.GetComponents(System.Type, System.Collections.Generic.List<UnityEngine.Component>)
UnityEngine.Component.GetComponents<T>(System.Collections.Generic.List<T>)
UnityEngine.Component.GetComponents<T>()
UnityEngine.Component.CompareTag(System.String)
UnityEngine.Component.SendMessageUpwards(System.String, System.Object, UnityEngine.SendMessageOptions)
UnityEngine.Component.SendMessageUpwards(System.String, System.Object)
UnityEngine.Component.SendMessageUpwards(System.String)
UnityEngine.Component.SendMessageUpwards(System.String, UnityEngine.SendMessageOptions)
UnityEngine.Component.SendMessage(System.String, System.Object)
UnityEngine.Component.SendMessage(System.String)
UnityEngine.Component.SendMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
UnityEngine.Component.SendMessage(System.String, UnityEngine.SendMessageOptions)
UnityEngine.Component.BroadcastMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
UnityEngine.Component.BroadcastMessage(System.String, System.Object)
UnityEngine.Component.BroadcastMessage(System.String)
UnityEngine.Component.BroadcastMessage(System.String, UnityEngine.SendMessageOptions)
UnityEngine.Component.transform
UnityEngine.Component.gameObject
UnityEngine.Component.tag
UnityEngine.Object.GetInstanceID()
UnityEngine.Object.GetHashCode()
UnityEngine.Object.Equals(System.Object)
UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion)
UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
UnityEngine.Object.Instantiate(UnityEngine.Object)
UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform)
UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform, System.Boolean)
UnityEngine.Object.Instantiate<T>(T)
UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion)
UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform)
UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform, System.Boolean)
UnityEngine.Object.Destroy(UnityEngine.Object, System.Single)
UnityEngine.Object.Destroy(UnityEngine.Object)
UnityEngine.Object.DestroyImmediate(UnityEngine.Object, System.Boolean)
UnityEngine.Object.DestroyImmediate(UnityEngine.Object)
UnityEngine.Object.FindObjectsOfType(System.Type)
UnityEngine.Object.DontDestroyOnLoad(UnityEngine.Object)
UnityEngine.Object.DestroyObject(UnityEngine.Object, System.Single)
UnityEngine.Object.DestroyObject(UnityEngine.Object)
UnityEngine.Object.FindSceneObjectsOfType(System.Type)
UnityEngine.Object.FindObjectsOfTypeIncludingAssets(System.Type)
UnityEngine.Object.FindObjectsOfType<T>()
UnityEngine.Object.FindObjectOfType<T>()
UnityEngine.Object.FindObjectsOfTypeAll(System.Type)
UnityEngine.Object.FindObjectOfType(System.Type)
UnityEngine.Object.ToString()
UnityEngine.Object.name
UnityEngine.Object.hideFlags
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: IMLD.MixedRealityAnalysis.Network
Assembly: Assembly-CSharp.dll
Syntax
public class NetworkManagerJson : MonoBehaviour

Fields

AnnounceMessage

The message string that the server should use when announcing itself over network.

Declaration
public readonly string AnnounceMessage
Field Value
Type Description
System.String

Instance

Instance reference for the singleton pattern implementation.

Declaration
public static NetworkManagerJson Instance
Field Value
Type Description
NetworkManagerJson

Network

The NetworkTransport used by this class.

Declaration
public NetworkTransport Network
Field Value
Type Description
NetworkTransport

Port

The port that the server should use.

Declaration
public readonly int Port
Field Value
Type Description
System.Int32

Sessions

The list of servers or sessions that are available to connect to.

Declaration
[HideInInspector]
public Dictionary<string, NetworkManagerJson.SessionInfo> Sessions
Field Value
Type Description
System.Collections.Generic.Dictionary<System.String, NetworkManagerJson.SessionInfo>

Properties

IsConnected

Gets a value indicating whether the app is currently connected to a server.

Declaration
public bool IsConnected { get; }
Property Value
Type Description
System.Boolean

IsServer

Gets a value indicating whether the app is currently acting as a server.

Declaration
public bool IsServer { get; }
Property Value
Type Description
System.Boolean

Methods

HandleNetworkMessageAsync(MessageContainer)

Handles a network manage by calling the correct registered message handler base on the MessageContainer.MessageType.

Declaration
public Task HandleNetworkMessageAsync(MessageContainer message)
Parameters
Type Name Description
MessageContainer message

The network message.

Returns
Type Description
System.Threading.Tasks.Task

A task object.

JoinSession(NetworkManagerJson.SessionInfo)

Joins the session matching the provided NetworkManagerJson.SessionInfo.

Declaration
public void JoinSession(NetworkManagerJson.SessionInfo session)
Parameters
Type Name Description
NetworkManagerJson.SessionInfo session

The session that should be joined.

Pause()

Pauses the network. Should be used whenever handling new messages could cause inconsistencies. Use Unpause() to restart handling of messages.

Declaration
public void Pause()

RegisterMessageHandler(MessageContainer.MessageType, Func<MessageContainer, Task>)

Registers a new message handler. There can only be one message handler per message type.

Declaration
public bool RegisterMessageHandler(MessageContainer.MessageType messageType, Func<MessageContainer, Task> messageHandler)
Parameters
Type Name Description
MessageContainer.MessageType messageType

The type of the message that should be handled.

System.Func<MessageContainer, System.Threading.Tasks.Task> messageHandler

A System.Func<T, TResult> to handle the message.

Returns
Type Description
System.Boolean

true if the message handler was successfully added, false otherwise.

SendMessage(MessageContainer)

Sends a message over network. The message is sent to the server if coming from a client and it is sent to all clients if coming from a server.

Declaration
public void SendMessage(MessageContainer message)
Parameters
Type Name Description
MessageContainer message

The network message.

StartAsServer()

Starts the server.

Declaration
public void StartAsServer()

Unpause()

Restarts the network manager after it has been paused. See also Pause().

Declaration
public void Unpause()

UnregisterMessageHandler(MessageContainer.MessageType)

Removes a registered message handler.

Declaration
public bool UnregisterMessageHandler(MessageContainer.MessageType messageType)
Parameters
Type Name Description
MessageContainer.MessageType messageType

The message type for which the message handler should be cleared.

Returns
Type Description
System.Boolean

true if the message handler was successfully removed, false otherwise.

Events

ConnectionStatusChanged

Event raised when connected or disconnected.

Declaration
public event EventHandler<EventArgs> ConnectionStatusChanged
Event Type
Type Description
System.EventHandler<System.EventArgs>

SessionListChanged

Event raised when the list of sessions changes.

Declaration
public event EventHandler<EventArgs> SessionListChanged
Event Type
Type Description
System.EventHandler<System.EventArgs>
In This Article
Back to top Generated by DocFX