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


 

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

22894. Теорема 97 KB
  Незвідними над полем є всі многочлени 1го степеня і лише вони. Доведення якщо степінь дорівнює 1 то многочлен незвідний якщож степінь більший 1 то за наслідком многочлен можна розкласти в добуток многочленів 1го степеня і звідний. Незвідні многочлени над плем дійсних чисел Визначимо деякі типи незвідних многочленів над полем . Такий многочлен незвідний.
22898. ВИЗНАЧНИКИ ДРУГОГО ТА ТРЕТЬОГО ПОРЯДКУ 94 KB
  Визначником другого порядку називається число =x1y2–y1x2 Означення. Визначником третього порядку називається число =x1y2z3y1z2x3z1x2y3–z1y2x3–y1x2z3– x1z2y3 У визначнику можна визначити дві діагоналі. Для обчислення визначника третього порядку існує правило трикутників.
22899. Поняття перестановки 113 KB
  В перестановці елементи не повторюються. Поняття інверсії Будемо казати що два числа в перестановці натуральних чисел утворюють інверсію якщо та в перестановці стоїть раніше від . Наприклад в перестановці 4 2 1 3 інверсії утворюють пари чисел 42 41 43 21 Постановка називається парною якщо її елементи утворюють разом парне число інверсій і непарною якщо вони утворюють непарне число інверсій. Наприклад в перестановці 4 2 1 3 елементи утворюють 4 інверсії тобто перестановка парна.
22900. Поняття інверсії 18 KB
  Наприклад в перестановці 4 2 1 3 інверсії утворюють пари чисел 42 41 43 21 Постановка називається парною якщо її елементи утворюють разом парне число інверсій і непарною якщо вони утворюють непарне число інверсій. Наприклад в перестановці 4 2 1 3 елементи утворюють 4 інверсії тобто перестановка парна. В перестановці 2 1 3 4 інверсію утворює лише пара чисел 21 тому перестановка непарна.
22901. Деякі теореми про перестановки 44.5 KB
  Всі перестановки елементів a1a2an1an можна скласти таким чином. Будемо послідовно брати усі перестановки елементів a1a2an1 і дописувати до них елемент an на всі можливі місця. Транспозиція змінює парність перестановки.
22902. Поняття матриці 35 KB
  Числа αij називаються елементами матриці. Положення кожного елемента в матриці визначається номерами рядка і стовпчика в яких знаходиться цей елемент. Наприклад елемент знаходиться в му рядку і стовпчику матриці А.