public void JoinMatch(string playerSessionDns, string playerSessionPort, string playerSessionId)
    {
        //call realTimeClient
        int localPort = FindAvailableUDPPort(DEFAULT_UDP_PORT, DEFAULT_UDP_PORT + 20);

        _realTimeClient = new RealTimeClient(playerSessionDns, Int32.Parse(playerSessionPort), localPort, ConnectionType.RT_OVER_WS_UDP_UNSECURED, playerSessionId, connectionPayload);
    }
    public async void JoinRoom()
    {
        string sessionId = gameSessionId;

        System.Random rnd = new System.Random();

        UnityEngine.Debug.Log("JoinRoom");
        var response = await gameLiftClient.CreatePlayerSessionAsync(new CreatePlayerSessionRequest {
            GameSessionId = sessionId,
            PlayerId      = SystemInfo.deviceUniqueIdentifier,
        });

        var playerSession = response.PlayerSession;

        playsersessionId = playerSession.PlayerSessionId;
        var ClientudpPort = SearchAvailableUdpPort(33400, 33400 + 100);

        realTimeClient = new RealTimeClient(
            playerSession.DnsName,
            playerSession.Port,
            ClientudpPort,
            ConnectionType.RT_OVER_WS_UDP_UNSECURED,
            playerSession.PlayerSessionId,
            null);
        realTimeClient.OnDataReceivedCallback = ReceivedServerPushedDataCallback;

        DebugUI.text = DebugUI.text + "\n" + "Room Joined: playsersessionId=" + playsersessionId;
    }