20986

ВЗАИМОДЕЙСТВИЕ ПРИКЛАДНЫХ ПРОГРАММ С ПОМОЩЬЮ ПРОТОКОЛОВ ЭЛЕКТРОННОЙ ПОЧТЫ И ПРОТОКОЛОВ ПРИКЛАДНОГО УРОВНЯ

Лабораторная работа

Информатика, кибернетика и программирование

None; } } ФУНКЦИИ ПРИЕМА ОТВЕТА ОТ СЕРВЕРА protected string Receive { string reply = ; byte[] buffer = new byte[1024]; int ret = socket.Receivebuffer; while ret 0 { reply = Encoding.GetStringbuffer 0 ret; if IsCompletereply break; ret = socket.Receivebuffer; } return reply; } protected bool IsCompletestring reply { string[] parts = reply.

Русский

2013-08-02

353.5 KB

7 чел.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ЛАБОРАТОРНАЯ РАБОТА №2

ПО ДИСЦИПЛИНЕ «СЕТИ ЭВМ»

ТЕМА РАБОТЫ «ВЗАИМОДЕЙСТВИЕ ПРИКЛАДНЫХ ПРОГРАММ С ПОМОЩЬЮ ПРОТОКОЛОВ ЭЛЕКТРОННОЙ ПОЧТЫ И ПРОТОКОЛОВ ПРИКЛАДНОГО УРОВНЯ»

 

 

Выполнили

студенты группы ИВТПО-431т

Исламов Р.Р.

Рахмангулов А.М.

Салямов Д.И.

Проверила

Муслимова Г.Р.

Уфа 2011

ЦЕЛЬ РАБОТЫ:

Изучение принципов работы протоколов электронной почты, разработка прикладных программ, осуществляющих взаимодействие и передачу данных друг другу на основе прикладных протоколов.

ПОСТАНОВКА ЗАДАЧИ

Необходимо реализовать SMTP клиент. Клиент должен связываться с удаленным SMTP сервером при помощи сокетов. У клиента должна быть возможность задания всех необходимых для соединения параметров подключения к серверу, таких как IP-адрес и порт. После соединения с сервером клиент должен реализовать стандартные команды протокола SMTP для авторизации и отправки письма.

Рис. 1 – Модель SMTP клиента


ДЕКОМОЗИЦИЯ ЗАДАЧИ

Рис. 2 – Декомпозиция клиента и сервера

После запуска клиент принимает от пользователя адрес и порт сервера, логин и пароль для авторизации на сервере, а также адрес получателя. При успешном соединении, клиент запрашивает у пользователя сообщение, которое необходимо отправить получателю. После ввода пользователем сообщения, клиент отправляет его получателю.


ОБОСНОВАНИЕ ВЫБОРА СРЕДЫ ПРОГРАММИРОВАНИЯ

Для разработки данного приложения был выбран язык С#. Это связано в первую очередь с тем, что C# создан именно как язык для разработки серверных приложений, поэтому разработка клиент-сервера на нем достаточна проста и процесс разработки способствует быстрому пониманию способов и методов реализации задач данного типа, что достаточно важно для студента. С# имеет встроенную библиотеку сокетов. Так же, являясь, объектно-ориентированным языком, позволяет быстро и просто реализовать приложение основанное на принципах ООП, в отличии, к примеру, от C++, где использование объектно-ориентированного подхода требует больших затрат времени и умственных усилий.


ОПИСАНИЕ АЛГОРИТМА ВЗАИМОДЕЙСТВИЯ

Диаграмма классов

 

Рис. 3 – Диаграмма классов

Диаграмма взаимодействий

 

Рис. 4 – Диаграмма взаимодействий

РУКОВОДСТВО ПРОГРАММИСТА

УСТАНОВКА СОЕДИНЕНИЯ

socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);                

               socket.Connect(new IPEndPoint(Dns.GetHostEntry(server).AddressList[0], int.Parse(port))); 

ФУНКЦИЯ ОТПРАВКИ КОМАНДЫ СЕРВЕРУ

protected void Send(string data)

       {

           Console.WriteLine("Client:  " + data.TrimEnd());

           byte[] toSend = Encoding.ASCII.GetBytes(data);

           int sent = socket.Send(toSend);

           while (sent != toSend.Length)

           {

               sent += socket.Send(toSend, sent, toSend.Length - sent, SocketFlags.None);

           }

} 

ФУНКЦИИ ПРИЕМА ОТВЕТА ОТ СЕРВЕРА

protected string Receive()

       {

           string reply = "";

           byte[] buffer = new byte[1024];

           int ret = socket.Receive(buffer);

           while (ret > 0)

           {

               reply += Encoding.ASCII.GetString(buffer, 0, ret);

               if (IsComplete(reply))

                   break;

               ret = socket.Receive(buffer);

           }

           return reply;

       } 

protected bool IsComplete(string reply)

       {

           string[] parts = reply.Replace("\r\n", "\n").Split('\n');

           if (parts.Length > 1 && ((parts[parts.Length - 2].Length > 3 && parts[parts.Length - 2].Substring(3, 1).Equals(" ")) || (parts[parts.Length - 2].Length == 3)))

               return true;

           else

               return false;

       } 

ПРОВЕРКА СТАТУСА ПРИСЛАННОГО СЕРВЕРОМ

protected bool IsReplyOK(string reply)

       {

           Console.Write("Server:  " + reply);

           try

           {

               int replyNumber = Int32.Parse(reply.Substring(0, 3)) / 100;

if (replyNumber == 2 || replyNumber == 3)                        return true;

           }

           catch { }

           return false;

       }
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Работа с клиентом

После запуска клиента введите адрес и порт сервера, а также адрес отправителя. В случае успешного соединения, будет предложено ввести пароль ящика отправителя и текст сообщения. Клиент будет отправлять команды серверу и выводить сообщения о статусах возвращаемых сервером

Рис. 5 – Работа SMTP клиента


ВЫВОД ПО ПРОДЕЛАННОЙ РАБОТЕ

В процессе выполнения работы изучили протокол SMTP и его основные команды, научились работать с сокетами, научились строить модели в CASE-средстве BPwin, научились строить UML-диаграмму.


 

А также другие работы, которые могут Вас заинтересовать

44085. Проектирование локальной вычислительной сети предприятия «Строительно-монтажный трест №16» города Новополоцка 1.14 MB
  Преимущества получаемые при сетевом объединении персональных компьютеров в виде внутрипроизводственной вычислительной сети: разделение ресурсов разделение данных разделение программных средств многопользовательский режим. Целью дипломного проекта является проектирование локальной вычислительной сети предприятия Строительно-монтажный трест №16 города Новополоцка. Организация общей локальной вычислительной сети предприятия Строительно-монтажный трест №16 а не существования множества несвязанных сетей подразделений крайне необходима.
44086. Исследование системы частотного регулирования и формирование четкой структуры программирования и параметрирования преобразователя Emotron FDU40-004 9.18 MB
  Наряду с задачами регулирования ПЧ решает задачи защиты блокировки и диагностики электропривода. Безопасность жизнедеятельности – это комплексное междисциплинарное научное направление исследующее закономерности сохранения здоровья и безопасности человека в среде обитания и призванное выявлять и идентифицировать вредные и опасные факторы отрицательно влияющие на здоровье человека разрабатывать методы и средства защиты путем снижения вредных и опасных факторов до уровня допустимых значений вырабатывать меры по ограничению ущерба и...
44087. Разработка рекомендаций по повышению эффективности управления оборотным капиталом предприятия (на примере ООО «Нильс-Юг» г. Самара) 6.08 MB
  Организационно-экономическая характеристика предприятия Анализ структуры и динамики имущества предприятия и источников его финансирования Оценка эффективности функционирования предприятия Оценка эффективности управления оборотным капиталом на предприятии ООО НильсЮг
44088. Анализ организации учета расчетов с покупателями и заказчиками на предприятии и определить пути их совершенствования ООО «Олимп» 3.19 MB
  Организация расчетов с покупателями и заказчиками в организации ООО Олимп Организационно-экономическая характеристика ООО Олимп Анализ расчетов с покупателями и заказчиками в ООО Олимп Совершенствование учета расчетов с покупателями и заказчиками в организации ООО Олимп
44089. Міжпоколінний конфлікт в сімї: соціологічний аналіз 392.5 KB
  Сімя є найважливішою цінністю в житті багатьох людей, що живуть у сучасному суспільстві. Кожен член суспільства, крім соціального статусу, етнічної приналежності, майнового та матеріального становища, з моменту народження і до кінця життя має такою характеристикою, як сімейно-шлюбне стан.
44090. ПОРТРЕТНАЯ ФОТОГРАФИЯ: ГЕНЕЗИС, СОВРЕМЕННОЕ СОСТОЯНИЕ ПЕЧАТНЫХ СМИ РЕСПУБЛИКИ БАШКОРТОСТАН 4.42 MB
  В повседневной журналистской практике можно увидеть, что один и тот же объект может иметь различные фактурные данные, которые могут «работать» либо богато и красноречиво, либо бедно и косноязычно. Здесь все зависит от умения репортера видеть и извлекать выразительную пластичность из самой действительности, многочисленных картин жизни.
44091. Рівень ліквідності і платоспроможності ПАТ «Рожищенський сирзавод» 255.99 KB
  Аналіз ліквідності та платоспроможності дозволяє визначити, наскільки ефективно здійснюється фінансовий менеджмент в підприємстві. Проте, як свідчать дослідження, теорія і практика аналізу ліквідності та платоспроможності в Україні знаходяться на стадії свого становлення. Більшістю підприємств подібний аналіз практично не здійснюється, що робить тему дослідження своєчасною та актуальною.
44092. Анализ работы моторного участка МП г.о. Самара «Пассажиравтотранс» 1.35 MB
  Запрещается удлинять рукоятки ключей путем присоединения другого ключа или трубы. При работе зубилом или другим рубящим инструментом необходимо пользоваться защитными очками для предохранения глаз от поражения металлическими частицами а также надеть на зубило защитную шайбу для защиты рук. Дата Экономическая эффективность разработанной конструкции Общая сумма расходов на изготовление конструкции Срасх = Сприс Кпов руб. где: Сприс – стоимость приспособления руб.
44093. Проектировании учебно - лабораторного комплекса «Модель блока тепловой электрической централи» 1.13 MB
  Карагандинская ТЭЦ-3 расположена в северо-восточной части города Караганды и предназначена для покрытия тепловых нагрузок промышленности и культурно бытового сектора города. ТЭЦ-3 работает на привозном Экибастузском угле, для растопки котлов используют мазут.