Close() публичный Метод

public Close ( ) : void
Результат void
Пример #1
0
        public async Task<Tuple<bool, bool>> TestConnect(string host, string port, string password = null, bool silent = false, int timeout = 0)
        {
            this.host = host;
            this.port = port;
            this.password = password;

            if (_connection != null)
            {
                _connection.Close();
                Debug.WriteLine(this.name + " : CLOSE CONNECTION");
            }

            _connection = new Connection();

            var permission = true;

            bool success = await _connection.Connect(host, port, timeout);

            Debug.WriteLine(this.name + " : NEW CONNECTION : " + success);

            if (success)
            {
                var response = await Connection.Recive(_connection.Socket,
                    new List<string>() { MPDKeyWords.Response.SUCCESS_CONNECT },
                    new List<string>() { MPDKeyWords.Response.OK + MPDKeyWords.Response.LINEBREAK },
                    new List<string>() { MPDKeyWords.Response.ACK },
                    new List<string>() { MPDKeyWords.Response.LINEBREAK });

                if (string.IsNullOrEmpty(response) || !response.StartsWith(MPDKeyWords.Response.SUCCESS_CONNECT))
                    success = false;

                Debug.WriteLine(this.name + " : NEW CONNECTION : RESPONSE : " + success);

                if (success)
                {
                    await Password(password, false);

                    if (await TestPermission() == null)
                        permission = false;
                }

                Debug.WriteLine(this.name + " : NEW CONNECTION : PERMISSION : " + permission);
            }

            _connection.Close();

            Debug.WriteLine(this.name + " : NEW CONNECTION : RETURN : " + success + " " + permission);

            return new Tuple<bool, bool>(success, permission);
        }
Пример #2
0
        //
        // Connect to MPD server
        //
        public async Task<bool> Connect(string host, string port, string password = null, bool silent = false, int timeout = 0)
        {
            
            connectionproblem = false;

            this.host = host;
            this.port = port;
            this.password = password;

            if (!silent)
            {
                Connected = false;
                Connecting = true;
            }

            if (_connection != null)
            {
                _connection.Close();
                Debug.WriteLine(this.name + " : CLOSE CONNECTION");

            }

            _connection = new Connection();

            bool success = await _connection.Connect(host, port, timeout);

            Debug.WriteLine(this.name + " : NEW CONNECTION : " + success);


            if (success)
            {
                var response = await Connection.Recive(_connection.Socket,
                    new List<string>() { MPDKeyWords.Response.SUCCESS_CONNECT },
                    new List<string>() { MPDKeyWords.Response.OK + MPDKeyWords.Response.LINEBREAK },
                    new List<string>() { MPDKeyWords.Response.ACK },
                    new List<string>() { MPDKeyWords.Response.LINEBREAK });

                if (string.IsNullOrEmpty(response) || !response.StartsWith(MPDKeyWords.Response.SUCCESS_CONNECT))
                    success = false;

                Debug.WriteLine(this.name + " : NEW CONNECTION : RESPONSE : " + success);

                //if (!string.IsNullOrEmpty(password) && !await Password(password, false))
                //    return false;

                //if (!await Password(password, false))
                //    return false;

                if (success)
                {
                    await Password(password, false);

                    if (await TestPermission() == null)
                        success = false;
                }

                Debug.WriteLine(this.name + " : NEW CONNECTION : PERMISSION : " + success);
            }

            if (!success)
            {
                Connected = false;
                Connecting = false;
                _connection.Close();

                if (CouldNotConnect != null)
                    CouldNotConnect(this, new EventArgs());
            }
            else if (success && !silent)
            {
                Connected = true;
                Connecting = false;

                if (ConnectionConnected != null)
                    ConnectionConnected(this, new EventArgs());
            }

            Debug.WriteLine(this.name + " : NEW CONNECTION : RETURN : " + success);

            return success;
        }