Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


почтовая программа - своими руками!


Настал черед главного класса POPClient, с которым нам нужно разобраться. Сразу после объявления его самого описывается странная на первый взгляд переменная debug. Значение этой переменной управляет включением и выключением вывода отладочных сообщений в поток System.out. Если установить значение true, то специально написанный метод logText() будет посылать любую текстовую строку, которую вы ему передадите в окно консоли. После окончания отладки класса, вы можете установить debug в состояние false, и ваши строки, передаваемые logText(), уже не будут выводиться. Мало того, компилятор автоматически уберет посылки текста в окно консоли, оптимизируя код. Данная возможность походит на директивы условной компиляции препроцессора языков Cи и Cи++. О другой функции метода logText() мы поговорим чуть позже.

В начале класса POPClient объявляется несколько полей, имеющих следующее назначение:
POPCommand command - ссылка на объект внутреннего класса POPCommand; POPResponse response - ссылка на объект внутреннего класса POPResponse; Socket socket - ссылка на сокет, связанный с почтовым сервером; BufferedReader ir - объект, читающий данные из потока ввода сокета; PrintWriter ow - объект, записывающий данные в поток вывода сокета; PrintWriter log - объект, записывающий данные в файл протокола; Vector messages - хранилище полученных почтовых сообщений; boolean logEnabled - флаг, разрешающий или запрещающий вывод текста в файл протокола.

В конструкторе по умолчанию производится создание новых экземпляров объектов внутренних классов POPCommand и POPResponse для дальнейшей работы. Если вам требуется протоколировать работу вашего почтового клиента, то воспользуйтесь другим конструктором, принимающим имя файла, который будет служить файлом протокола. Сначала этот конструктор вызовет конструктор по умолчанию, инициализируя таким образом внутренние классы, а затем создаст поток вывода данных в файл. Если таковой поток не удается создать, то возникает исключение ввода-вывода, которое мы перехватываем, и устанавливаем флаг разрешения протокола в положение "отключено" (false).

Для забывчивых программистов в классе предусмотрен финализатор - метод finalize(), вызываемый сборщиком мусора в момент завершения работы класса. Финализатор вызывает метод disconnect(), отключающий клиента от почтового сервера, если программист по каким-либо причинам не вызывал метод disconnect().

Другие статьи по теме:

- Java-приложение: заглянем внутрь
- Java: русские буквы и не только...
- Java: управление ресурсами
- практическое введение в программирование на javascript
- учим java. этап первый: подготовительный


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами