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-диаграмму.


 

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

39577. Психологические аспекты оппозиционного поведения 1.18 MB
  Чтобы её выработать необходимо иметь представление о явлении оппозиционного поведения и о его носителях. На примере Ульяновской области можно сказать что в борьбу с политическим экстремизмом вкладываются колоссальные ресурсы. Таким образом не вызывает сомнений то что под все эти меры должна быть положена твёрдая научная база. Стоит отметить что проектами по исследованию оппозиции занимается один из фондов исследования общественного мнения что также свидетельствует о наличие интереса к данной теме.
39578. ОСНОВЫ ПОЛИТИЧЕСКОЙ ПСИХОЛОГИИ 2.62 MB
  Данная книга представляет собой впервые осуществленное в России систематическое учебное изложение основных слагаемых новой науки, политической психологии. От ее предмета и задач, через психологию личности, малых и больших групп, а также психологии масс в политике, до исследовательских методов и прикладного использования, читателю предстает широкая панорама роли и потенциала «человеческого фактора» в политике
39579. Электрификация коровника на 200 голов с разработкой кормораздачи в ЗАО «Овощевод» 507.5 KB
  Автоматизация производства это применение автоматических и автоматизированных устройств и систем для полного или частичного освобождения человека от выполняемой им работы по управления и контролю при получении обработке передаче и использовании энергии материалов информации и др. Эти процессы тесно связаны с применением индустриальной технологии производства в сельском хозяйстве совершенствованием планирования и управления. пуск и остановка первичных двигателей регулировка напряжения в сети подача топлива защита от коротких замыканий...
39580. Расчет электрификации коровника на 200 голов с разработкой кормораздачи в ЗАО «Овощевод» 1.68 MB
  Сельскохозяйственная – одна из основных и жизненно важных отраслей народного хозяйства. В нашей стране на эту отрасль приходится около 4% стоимости основных фондов; в ней занято 7,2 млн. человек, что составляет 11% работающего населения. С/х дает 5,4% ВВП, производит продукты питания для населения и сырье для перерабатывающей промышленности.
39581. Связь политически активной студенческой молодёжи как формальность и неформальность с уровнем социальной зрелости 415 KB
  От уровня социальной зрелости зависит нравственнополитический климат и культура нынешнего и будущего общества. не гарантирует высокий уровень социальной зрелости. Эти приписываемые социальнопсихологические признаки по праву можно считать признаками социальной зрелости. Экспериментальные исследования в области социальной зрелости как правило сводятся к изучению школьников и выпускников школ.
39582. Проект электрификации телятника на 25 голов с разработкой навозоудаления в ЗАО «Красный холм» РМО 578.63 KB
  В последнее время принят ряд указов, законов, нормативных актов, которые создают благоприятные условия для развития всех форм хозяйствования на селе в условиях рыночных отношений. Реализация этих решений по выходу с/х из кризиса основана на введении новых форм организации производства
39583. Организация водоохладительной установки АВ-30 1.38 MB
  Повышение производительности труда в сельском хозяйстве а следовательно и эффективности производства возможно лишь при условии максимальной механизации и автоматизации при неуклонном сокращении доли ручного труда. Сокращение доли тяжёлого и малоквалифицированного физического труда непременное условие экономического роста. Рост технической и энергетической вооруженности сельскохозяйственного труда развитие научных исследований с использованием современной научной аппаратуры достижений полупроводниковой микроэлектроники и...
39584. Политическая социализация личности 273.14 KB
  Личность —одновременно и субъект и объект политики. Но одни люди в большей степени проявляют политическую активность, другие — в меньшей, а третьи вообще стараются «убежать» от политики. Одни стремятся к утверждению существующего политического строя и проявляют конструктивное политическое поведение, другие, напротив, предпринимают меры, направленные на его ниспровержение и демонстрируют деструктивную позицию.
39585. Социальная зрелость личности 79 KB
  Ницше Проблематикой социальной зрелости личности занимаются различные науки. И потому ее роль в исследовании социализации личности очень велика: вклад криминологии в данную проблематику состоит в том что эта наука создает модель социально НЕзрелой личности прогнозирует возможные ошибки воспитания и их последствия. Многие науки не обходят стороной социальную зрелость личности а для такой относительно новой области человекознания как акмеология от греч.