Создание Windows-приложений на основе Visual C#


           

После установки соединения сервер находится


return str; } /// <summary> /// Возвращение сообщения в виде строки. /// </summary> /// <returns></returns> string ReceiveMessage() { StringBuilder tmp = UnsafeReceiveMessage(); string str = tmp.ToString(); AnalyseResponse(str);

return str; } /// <summary> /// Аутентификация пользователя. /// </summary> /// <param name="username">Имя пользователя.</param> /// <param name="password">Пароль.</param> /// <example> После установки соединения сервер находится в режиме авторизации пользователя. /// Пользователь должен идентифицировать себя на сервере, используя команды USER и PASS. /// Сначала надо отправить команду USER, после которой в качестве аргумента следует имя пользователя. /// Если сервер отвечает положительно, то теперь необходимо отправить команду PASS, за которой следует пароль. /// <code> /// Client: USER username /// Server: +OK username /// Client: PASS mypass /// Server: +OK username /// </code> /// </example> void AuthenticateYourSelf(string username, string password) { Send("USER " + username); Receive(); Send("PASS " + password); Receive();

_authenticated = true; }

/// <summary> /// Соединение с сервером и аутентификация пользователя. /// </summary> /// <param name="username">Имя пользователя.</param> /// <param name="password">Пароль.</param> public override void LogIn(string username, string password) { try { if (_socket != null) { Quit(); ResetVariables(); } // Установка соеденения. EstablishConnection(_server, _port); Receive(); // Получение приветствия от сервера. AuthenticateYourSelf(username, password); } catch (ShutdownException e) { throw new CoreException("Невозможно завершить предыдущий сеанс.", e); } catch (Exception e) { throw new CoreException("Вход невозможен", e); } }

/// <summary> /// Закрытие транзакции на сервере. /// </summary> public override void Quit() { try { CheckConnection(); // Сервер завершает POP3-сессию и переходит в режим UPDATE. Send("QUIT"); // Ответ нас не интересует } catch (Exception e) { throw new ShutdownException("Невозможно покинуть транзакцию", e); }


Содержание  Назад  Вперед