예제 #1
0
    void Awake()
    {
        IPAddress ipAddress;

        if (!IPAddress.TryParse(relayIP, out ipAddress))
        {
            ipAddress = Dns.GetHostEntry(relayIP).AddressList[0];
        }

        drClient            = GetComponent <UnityClient>();
        directConnectModule = GetComponent <DarkMirrorDirectConnectModule>();

        if (drClient.ConnectionState == ConnectionState.Disconnected)
        {
            drClient.Connect(IPAddress.Parse(ipAddress.ToString()), relayPort, true);
        }

        drClient.Disconnected    += Client_Disconnected;
        drClient.MessageReceived += Client_MessageReceived;
    }
    public void ConnectToRelay()
    {
        IPAddress ipAddress;

        if (!IPAddress.TryParse(relayIP, out ipAddress))
        {
            ipAddress = Dns.GetHostEntry(relayIP).AddressList[0];
        }

        drClient            = GetComponent <UnityClient>();
        directConnectModule = GetComponent <DarkMirrorDirectConnectModule>();

        if (drClient.ConnectionState == ConnectionState.Disconnected)
        {
            if (useWebsockets)
            {
                websocketClient = new WebSocketClientConnection(relayIP, relayPort);

                if (Application.platform != RuntimePlatform.WebGLPlayer)
                {
                    drClient.Client.ConnectInBackground(websocketClient);
                }
                else
                {
                    drClient.Client.Connect(websocketClient);
                }
            }
            else
            {
                drClient.Client.Connect(IPAddress.Parse(ipAddress.ToString()), relayPort, true);
            }
        }

        drClient.Disconnected    += Client_Disconnected;
        drClient.MessageReceived += Client_MessageReceived;
    }