hostId | Host id associated with this connection (retrieved when calling NetworkTransport.AddHost). |
address | IPv4 address of the other peer. |
port | Port of the other peer. |
exceptionConnectionId | Set to 0 in the case of a default connection. |
error | Error (can be casted to NetworkError for more information). |
int A unique connection identifier on success (otherwise zero).
Tries to establish a connection to another peer.
The error parameter will return a non-zero value if an error occurs, this value can be casted to a NetworkError for more information.
NetworkTransport.Connect can still fail despite returning a non-zero connection id, so make sure to poll NetworkTransport.Receive or NetworkTransport.ReceiveFromHost to listen for events. If everything is OK a NetworkEventType.ConnectEvent will be returned.
#pragma strict public class ConnectExample extends MonoBehaviour { var connectionId: int; var channelId: int; var hostId: int; function Start() { // Init Transport using default values. NetworkTransport.Init(); // Create a connection config and add a Channel. var config: ConnectionConfig = new ConnectionConfig(); channelId = config.AddChannel(QosType.Reliable); // Create a topology based on the connection config. var topology: HostTopology = 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 var error: char; connectionId = NetworkTransport.Connect(hostId, "10.0.0.42", 54321, 0, error); } function Update() { var outHostId: int; var outConnectionId: int; var outChannelId: int; var buffer: char[] = new char[1024]; var bufferSize: int = 1024; var receiveSize: int; var error: char; var evnt: NetworkEventType = NetworkTransport.Receive(outHostId, outConnectionId, outChannelId, buffer, bufferSize, receiveSize, error); switch (evnt) { case NetworkEventType.ConnectEvent:if (outHostId == hostId && outConnectionId == connectionId && NetworkErrorerror == NetworkError.Ok) { Debug.Log("Connected"); }
break; case NetworkEventType.DisconnectEvent:if (outHostId == hostId && outConnectionId == connectionId) { Debug.Log("Connected, error:" + error.ToString()); }
break; } } }
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; byte[] buffer = new byte[1024]; int bufferSize = 1024; int receiveSize; byte error;
NetworkEventType evnt = NetworkTransport.Receive(out outHostId, out outConnectionId, out outChannelId, buffer, bufferSize, out receiveSize, out error); switch (evnt) { case NetworkEventType.ConnectEvent: if(outHostId == hostId && outConnectionId == connectionId && (NetworkError)error == NetworkError.Ok) { Debug.Log("Connected"); } break; case NetworkEventType.DisconnectEvent: if(outHostId == hostId && outConnectionId == connectionId) { Debug.Log("Connected, error:" + error.ToString()); } break; } } }