hostId | Host id associated with the event. |
connectionId | The connectionId that received the event. |
channelId | The channelId associated with the event. |
buffer | The buffer that will hold the data received. |
bufferSize | Size of the buffer supplied. |
receivedSize | The actual receive size of the data. |
error | Error (can be casted to NetworkError for more information). |
NetworkEventType Type of event returned.
Called to poll the underlying system for events.
using UnityEngine.Networking;
public class ConnectExample : MonoBehaviour { int connectionId; int channelId; int hostId;
void Start() { // Init Transport using default values. NetworkTransport.Init();
// Create a connection config and add a Channel. ConnectionConfig config = new ConnectionConfig(); channelId = config.AddChannel(QosType.Reliable);
// Create a topology based on the connection config. HostTopology topology = new HostTopology(config, 10);
// Create a host based on the topology we just created, and bind the socket to port 12345. hostId = NetworkTransport.AddHost(topology, 12345);
// Connect to the host with IP 10.0.0.42 and port 54321 byte error; connectionId = NetworkTransport.Connect(hostId, "10.0.0.42", 54321, 0, out error); }
void Update() { int outHostId; int outConnectionId; int outChannelId;
int receivedSize; byte error; NetworkEventType evt = NetworkTransport.Receive(out outHostId, out outConnectionId, out outChannelId, buffer, buffer.Length, out receivedSize, out error);
switch (evt) { case NetworkEventType.ConnectEvent: { OnConnect(outHostId, outConnectionId, (NetworkError)error); break; } case NetworkEventType.DisconnectEvent: { OnDisconnect(outHostId, outConnectionId, (NetworkError)error); break; } case NetworkEventType.DataEvent: { OnData(outHostId, outConnectionId, outChannelId, buffer, receivedSize, (NetworkError)error); break; } case NetworkEventType.BroadcastEvent: { OnBroadcast(outHostId, buffer, receivedSize, (NetworkError)error); break; } case NetworkEventType.Nothing: break;
default: Debug.LogError("Unknown network message type received: " + evt); break; } }
void OnConnect(int hostId, int connectionId, NetworkError error) { Debug.Log("OnConnect(hostId = " + hostId + ", connectionId = " + connectionId + ", error = " + error.ToString() + ")"); }
void OnDisconnect(int hostId, int connectionId, NetworkError error) { Debug.Log("OnDisconnect(hostId = " + hostId + ", connectionId = " + connectionId + ", error = " + error.ToString() + ")"); }
void OnBroadcast(int hostId, byte[] data, int size, NetworkError error) { Debug.Log("OnBroadcast(hostId = " + hostId + ", data = " + data + ", size = " + size + ", error = " + error.ToString() + ")"); }
void OnData(int hostId, int connectionId, int channelId, byte[] data, int size, NetworkError error) { Debug.Log("OnDisconnect(hostId = " + hostId + ", connectionId = " + connectionId + ", channelId = " + channelId + ", data = " + data + ", size = " + size + ", error = " + error.ToString() + ")"); } }