20988

Взаимодействие прикладных программ с помощью транспортных протоколов сети Интернет

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

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

Необходимо создать приложение (клиент) , который мог бы отправлять сообщения серверу при помощи транспортных протоколов (TCP и UDP). Клиент должен содержать файлы настроек для возможности задания порта и IP адреса сервера.

Русский

2013-08-15

862.5 KB

6 чел.

Жиляев А.Ю.

Исламгулов И.А.

ПО-430

Отчет к лабораторной работе №1

Взаимодействие прикладных программ с помощью транспортных протоколов сети Интернет

Цель работы:

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

 

  1.  Постановка задачи

Необходимо создать приложение (клиент) , который мог бы отправлять сообщения серверу при помощи транспортных протоколов (TCP и UDP). Клиент должен содержать файлы настроек для возможности задания порта и IP адреса сервера.

  1.  Решение задачи

Для решения задачи разработаем алгоритм работы приложений:

Алгоритм работы:

  1.  Запуск клиента, сервера. Инициализация приложений
  2.  Выбор типа протокола для соединения
  3.  Отправка сообщения серверу
  4.  Обработка сообщения сервером, отправка ответного сообщения клиенту
  5.  Закрытие соединения

  1.  Реализация

Программа реализована в ЯП Python с использованием gevent. gevent это лёгкая и быстрая сетевая библиотека, использующая userspace-потоки (greenlets) для организации синхронного API поверх цикла обработки событий libevent.

  1.  Руководство программиста

TCP SERVER

   server = StreamServer(TCP_SERVER_ADDRESS, connection_handler) — создание tcp сервера, connection-handler функция вызываемая при подключение нового клиента!!!!!

def connection_handler(socket, address): - socket на который пришло соединение, address — адресс пользователя от которого поступило подключение.

UDP SERVER

создается юдп сокет

   udp_sock = gevent.socket.socket(gevent.socket.AF_INET, gevent.socket.SOCK_DGRAM)

   udp_sock.setsockopt(gevent.socket.SOL_SOCKET, gevent.socket.SO_BROADCAST, 1)

   udp_sock.bind(UDP_SERVER_ADDRESS)

   handler = UdpHandler() - создается объект принимающий сообщения.

       server = DgramServer(udp_sock, handler) — создается сервер который связывает сокет и объект принимающий сообщения.

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

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

Для работы приложения необходимо запустить две программы: Client и Server.

После этого вы можете начинать писать своё сообщение. После отправки вы можете видеть ответ от сервера:

Работа сервера

Задача сервера принимать сообщения от клиентов и отдавать ответ:

Конфигурационный файл

UDP_SERVER_PORT – порт UDP сервера 

UDP_SERVER_HOST –  хост UDP сервера

TCP_SERVER_PORT – порт TCP сервера

TCP_SERVER_HOST – хост TCP сервера


 

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

46994. СТРАТЕГИЧЕСКИЙ МЕНЕДЖМЕНТ 43.1 KB
  Участники процесса стратегического управления Генеральный директор на фирме как капитан корабля является самым влиятельным и ответственным менеджером по стратегии. Вицепрезиденты по производству маркетингу финансам кадрам и другие функциональные руководители тоже несут ответственность за разработку и осуществление стратегии. Функциональные руководители принимают деятельное участие в предложении в разработке ключевых направлений общей стратегии работая вместе с исполнительным директором и добиваясь выработки консенсуса они повышают...
46995. Бюджетирование и контроль деятельности центров ответственности 36.39 KB
  Расходы УОК делятся на постоянные и переменные. К постоянным относятся арендные платежи командировочные расходы расходы на проведение семинаров съездов почтовые представительские издержки и другие. Переменные расходы УОК фонд оплаты труда ФОТ с налогами закупка материалов оплата услуг сторонних организаций. расходы.
46996. Работа редактора над научно-популярным изданием 43 KB
  Работа редактора над научно-популярным изданием Научно-популярное издание издание которое содержит сведения о теоретических и или экспериментальных исследованиях и предназначено для популяризации и пропаганды основ и достижений науки и техники культуры и результатов прикладной деятельности среди широких масс читателей в доступной для них форме. Тематика научно-популярных изданий может быть весьма широкой. В общем предметом содержания научнопопулярного издания можно считать все что имеет отношение к науке и научным исследованиям. Целевое...
46998. Предмет и содержание курса «История Беларуси». Основные подходы к изучению истории 43.26 KB
  Кроме пашни древнее население Беларуси имело огороды и сады . 4 Экономическое развитие и социальные отношения в Беларуси в 1416 вв. На территории Беларуси продолжается процесс формирования и совершенствования феодальных отношений.
47000. Защитное заземление 43.35 KB
  Защитное заземление (рис. 6) - это преднамеренное электросоединение металлических нетоковедущих частей ЭУ или другого электрооборудования (ЭО), которые могут оказаться под U, с заземляющим устройством (ЗУ). Его применяют в электросетях с изолированной нейтралью U до 1 кВ