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


 

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

47277. Устройство рулевого управления Зил 5301 76.44 KB
  Для надежности соединений деталей рулевого привода пробки наконечников продольной рулевой тяги автомобиль ЗИЛ5301 и гайки крепления поворотных рычагов и шаровых пальцев зашплинтованы.Все шарнирные соединения рулевого привода для уменьшения износа деталей смазываются через масленки и имеют защитные приспособления от попадания грязи и вытекания смазки. При повороте колёс или наезде на препятствие детали рулевого привода перемещаются друг относительно друга как в вертикальной так и в горизонтальной плоскостях.
47279. Структура тормозного управления автомобиля и требования, предъявляемые к нему 446.74 KB
  Каждая из этих систем включает в себя тормозные механизмы обеспечивающие создание сопротивления движению автомобиля и тормозной привод необходимый для управления тормозными механизмами. К тормозной системе автомобиля предъявляются высокие требования. Стояночная тормозная система выполняет также функцию аварийной тормозной системы в случае выхода из строя рабочей тормозной системы. Каждая тормозная система состоит из тормозных механизмов которые обеспечивают затормаживание колес или вал трансмиссий и тормозного привода приводящего в...
47280. Разработка сети электроснабжения нового района города и коттеджного поселка 5.19 MB
  Построение вариантов схемы сети 380 В города и коттеджного поселка. Техникоэкономическое сравнение и выбор оптимального варианта схемы городской сети 380 В. Построение конкурентно способных вариантов схемы сети 10 кВ с учетом коттеджного поселка и выбор электрооборудования.
47282. Классификация и общая характеристика учреждений, предоставляющих социальные услуги 235 KB
  Предоставление социальных услуг без обеспечения проживания это предоставление услуг социального характера консультаций материальной помощи помощи беженцам и аналогичных услуг отдельным лицам и семьям на дому или в других местах. К учреждениям оказывающим социальные услуги без обеспечения проживания относятся комплексные центры социального обслуживания центры социального обслуживания семьи и детей центры социального обслуживания лиц без определенного места жительства и т. В центрах социального обслуживания населения и в отделах...
47283. Управление дебиторской задолженностью открытого акционерного общества «Коммунальные системы БАМа» 680.5 KB
  Сущность дебиторской задолженности Факторы влияющие на уровень дебиторской задолженности. Пути снижения дебиторской задолженности. Управление дебиторской задолженностью на примере ОАО Коммунальные Системы БАМа. Анализ дебиторской задолженности предприятия в целом.
47284. Цех подготовки фабрики газетной бумаги в г. Шклове 2.47 MB
  Определение крановых нагрузок В данном дипломном проекте выполнен расчет одной подкрановой балки расположенной по оси 1 расчётной рамы разрез 11 в пролете 14 которая идентична подкрановой балке по оси 4. Вариант 1 2 крана Используя правило Винклера устанавливаем два груза на балке и находим положение равнодействующей R относительно опоры А: мм Расстояние от критического груза до равнодействующей: С = 24 3 = 06 м По теореме Винклера устанавливаем колёса крана на балке таким образом чтобы расстояние от левой опоры до...