Описание класса pop3Socket




Содержание

Реферат

Задание на курсовое проектирование

Введение

1. Описание программы

1.1 Описание класса pop3Socket

1.2 Описание класса pop3ClientDlg

1.3 Простая аутентификачия

1.4 APOP аутентификация

1.5 AUTH аутентификация

2. Описание реализации функций

2.1 Простая аутентификачия

2.2 APOP аутентификация

2.3 AUTH аутентификация

3. Руководство пользователя

Заключение

Список источников

Приложение А. Обязательное. Алгоритмы функционирования программы

 


Введение

 

Post Office Protocol (POP) - протокол доставки почты пользователю из почтового ящика почтового сервера РОР. Многие концепции, принципы и понятия протокола POP выглядят и функционируют подобно SMTP. Команды POP практически идентичны командам SMTP, отличаясь в некоторых деталях. На рис.7 изображена модель клиент-сервер по протоколу POP. Сервер POP находится между агентом пользователя и почтовыми ящиками.

В настоящее время существуют две версии протокола POP - РОР2 и РОРЗ, обладающими примерно одинаковыми возможностями, однако несовместимыми друг с другом. Дело в том, что у РОР2 и РОРЗ разные номера портов протокола. Между ними отсутствует связь, аналогичная связи между SMTP и ESMTP. Протокол РОРЗ не является расширением или модификацией РОР2 - это совершенно другой протокол. РОР2 определен в документе RFC 937 (Post Office Protocol-Version 2, Butler, et al, 1985), a РОРЗ - в RFC 1225 (Post Office Protocol-Version 3, Rose, 1991). Далее кратко рассмотрим POP вообще и более подробно - РОРЗ. PОРЗ разработан с учетом специфики доставки почты на персональные компьютеры и имеет соответствующие операции для этого.

Ранее почтовые сообщения большинства сетей доставлялись непосредственно от одного компьютера к другому. И если пользователь часто менял рабочие компьютеры или один компьютер принадлежал нескольким пользователям, существовали определенные проблемы. В наши дни общепринята доставка сообщения не на компьютеры пользователя, а в специальные почтовые ящики почтового сервера организации, который круглосуточно работает (включен).

Конструкция протокола РОРЗ обеспечивает возможность пользователю обратиться к своему почтовому серверу и изъять накопившуюся для него почту. Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет. При этом он должен запустить специальный почтовый агент (UA), работающий по протоколу РОРЗ, и настроить его для работы со своим почтовым сервером. Итак, во главе модели POP находится отдельный персональный компьютер, работающий исключительно в качестве клиента почтовой системы (сервера). Подчеркнем также, что сообщения доставляются клиенту по протоколу POP, а посылаются по-прежнему при помощи SMTP. То есть на компьютере пользователя существуют два отдельных агента-интерфейса к почтовой системе - доставки (POP) и отправки (SMTP). Разработчики протокола РОРЗ называет такую ситуацию "раздельные агенты" (split UA). Концепция раздельных агентов кратко обсуждается в спецификации РОРЗ.

1. В протоколе РОРЗ оговорены три стадии процесса получения почты: авторизация, транзакция и обновление. После того как сервер и клиент РОРЗ установили соединение, начинается стадия авторизации. На стадии авторизации клиент идентифицирует себя для сервера. Если авторизация прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней клиент либо запрашивает у сервера информацию (например, список почтовых сообщений), либо просит его совершить определенное действие (например, выдать почтовое сообщение. На стадии обновления сеанс связи заканчивается.


Описание программы

 

В ходе выполнение курсового проекта была разработана, реализующая функции клиентского приложения, функционирующего по протоколу pop3. Программа была разработана в среде Microsoft Visual Studio 2005. Проект приложения имеет диалоговый тип. В ходе разработки приложения использована библиотека классов MFC. В частности был использован базовый класс CSocket, который является производным классом от CsynkSocket – класс синхронных сокетов. Использование механизма синхронных сокетов позволяет организовать упорядоченное функционирование приложения, не используя дополнительных механизмов для синхронизации. Синхронный механизм не позволяет начать выполнение действия до того, как было получено подтверждение о выполнении предыдущего.

В разработанном проекте был реализован класс pop3Socket, который является наследником класса CSocket.

В ходе реализации приложения использовался класс md5Capi, который содержит реализации хэш-функции MD5 с использованием библиотеки wincrypt.h

 

Описание класса pop3Socket

 

Разработанный класс имеет следующую структуру:

 

class pop3Socket: public CSocket

{

public:

pop3Socket(Cpop3ClientDlg* Dlg);

virtual ~pop3Socket();

virtual void OnReceive(int nErrorCode);

virtual void OnClose(int nErrorCode);

virtual void OnSend(int nErrorCode);

char fl;

Cpop3ClientDlg* m_Dlg;

};

 

В секции public класса находятся следующие свойства и методы:

pop3Socket(Cpop3ClientDlg* Dlg) – конструктор класса. Данный конструктор перегружен в соответствии с логикой работы программы, для того чтобы позволить установить зависимость создаваемого сокета от диалогового окна.

virtual ~pop3Socket() – Виртуальный деструктор класса;

virtual void OnReceive(int nErrorCode) – виртуальный метод класса, вызывающийся при получени сокетом входного сообщения;

virtual void OnClose(int nErrorCode) – виртуальный метод класса, вызывающийся при закрытии сокета;

virtual void OnSend(int nErrorCode) – виртуальный метод класса, вызывающийся при отправки информации через сокет;

char fl – свойство класса, которое используется при анализе ответа сервера.

Cpop3ClientDlg* m_Dlg – свойство – указатель на диалоговое окно типа Cpop3ClientDlg (главное диалоговое окно программы).

Определение класса приведено в файле pop3Socket.h проекта.

Реализация методов класса приведена в файле pop3Socket.срр проекта.

В реализации класса был перегружен конструктор, который настраивал указатель m_Dlg на адрес диалогового окна из которого происходит вызов конструктора.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-11-02 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: