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 сервера


 

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

2106. Энергетические соотношения в цепи приемной антенны 101.51 KB
  Целесообразно различать в режиме приема собственно приемник и приемное устройство – приемник, антенна, фидер. Соответственно нужно различать чувствительность приемника и чувствительность приемного устройства.
2107. Режим слабого сигнала в радиолиниях ДВ, СВ, КВ 22.71 KB
  Здесь характерно то, что собственные шумы приемника можно не принимать во внимание, т.к. интенсивность внешних помех в этих диапазонах обычно гораздо больше интенсивности собственных шумов.
2108. Эффективная шумовая температура 164.84 KB
  Эффективную шумовую температуру, характеризующую мощность всех внешних помех.
2109. Поляризационные характеристики приемных антенн 292.58 KB
  Поляризация приемной антенны определяется поляризацией поля, создаваемого этой антенной в режиме передачи.
2110. Воспитательное мероприятие: Как мы говорим 51 KB
  Воспитать гражданской позиции и правовой культуры старшеклассников. Привить навыков критического анализа, объективного суждения и аргументированного ведения диалога.
2111. Организация наладочных работ 56.5 KB
  Предмонтажная ревизия и проверка оборудования: машин и механизмов, аппаратов, арматуры, средств управления и представления информации. Поузловая приемка из индивидуальных испытаний (включая необходимый контроль полноты и качества монтажа) оборудования функциональных узлов.
2112. Идеология и ее роль в жизнедеятельности современного общества 86.28 KB
  Идеологическая составляющая в деятельности институтов гражданского общества: общественные объединения в идеологических процессах, идеологические функции СМИ, учреждений образования, науки, культуры. Механизм функционирования идеологии белорусского государства. Политическая, экономическая, социокультурная составляющие ИБГ.
2113. Газоснабжение района города Кургана 246.91 KB
  Определение площади застройки территории, численности населения района, годовых расходов теплоты. Выбор оптимального количества ГРП. Проектирование внутренней системы газоснабжения.
2114. Детали машин 311.31 KB
  Деталь, узел. Комплект, изделие, машинный агрегат. Классификация деталей машин. Основные критерии работоспособности деталей машин. Общие сведения зубчатых передач, классификация. Геометрические параметры и их соотношения в косозубых цилиндрических зубчатых передачах. Подшипники качения. Условные обозначения. Виды повреждений.