public byte MaxConnectionAttempt ;

説明

Defines the maximum number of times Unity Multiplayer will attempt to send a connection request without receiving a response before it reports that it cannot establish a connection. Default value = 10.

void Init()
{
    ConnectionConfig myConfig = new ConnectionConfig();
    myConfig.AddChannel(QosType.Unreliable);
    myConfig.AddChannel(QosType.UnreliableFragmented);
    myConfig.ConnectTimeout = 1000;
    myConfig.MaxConnectionAttempt = 5;

HostTopology myTopology = new HostTopology(myConfig, 10); //up to 10 connection allowed m_MyHostId = NetworkTransport.AddHost(myTopology, 9999); }

public void Connect() { byte error; m_PeerId = NetworkTransport.Connect(m_MyHostId, "127.0.0.1", 9999, 0, out error); }

void Update() { byte error; if ((NetworkError)error != NetworkError.Ok) { Debug.LogError("Network error is occurred: " + (NetworkError)error); } else { int recHostId; int connectionId; int channelId; byte[] recBuffer = new byte[1024]; int bufferSize = 1024; int dataSize; bool done = false; while (!done) { NetworkEventType recData = NetworkTransport.Receive(out recHostId, out connectionId, out channelId, recBuffer, bufferSize, out dataSize, out error); switch (recData) { case NetworkEventType.Nothing: //1 break; case NetworkEventType.ConnectEvent: //2 Debug.Assert(connectionId == m_PeerId, "success"); done = false; break; case NetworkEventType.DataEvent: //3 break; case NetworkEventType.DisconnectEvent: //4 Debug.Assert(connectionId == m_PeerId, "fail"); done = false; break; } } } }