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


 

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

76279. Непарная вена 43.26 KB
  zygos начинается в брюшной полости являясь непосредственным продолжением правой восходящей поясничной вены v. Последняя начинается из мелких вен области крестца и поясницы которые анастомозируют с венами наружного позвоночного сплетения и поясничными венами из системы нижней полой вены. Притоки непарной вены: 1. Верхние диафрагмальные вены vv.
76280. Внутренняя яремная вена 66.65 KB
  В области шеи внутренняя яремная вена является самым крупным стволом. Вена располагаетсяв составе сосудистонервного пучка шеи латеральнее общей сонной артерии и блуждающего нерва. В области шеи внутренняя яремная вена получает непостоянные внечерепные притоки.
76281. Внутричерепные притоки внутренней яремной вены 117.6 KB
  Синусы твердой мозговой оболочки: Sinus sgitlis superior Sinus sgitlis inferior Sinus cvernosus Sinus intercvernosi Sinus sphenoprietlis Sinus petrosus superior Sinus petrosus inferior Sinus mrginlis Sinus rectus Sinus occipitlis Sinus trnsversus Sinus sigmoideus Выпускники vv. diploice: Лобная в sinus sgitlis superior Задняя височная sinus sphenoprietlis Передняя височная sinus trnsversus Затылочная sinus trnsversus Вены твердой мозговой оболочки vv.
76282. Нижняя полая вена. Корни. Притоки. Анастамозы с верхней полой и воротной венами 1.36 MB
  V. thoracoepigastrica (приток v. axillaris) (система v. cava superior) - v. epigastrica superficialis (приток v. femoralis) (система v. cava inferior) V. azygos, v. hemiazygos (vv. lumbales ascendens dextra et sinstra) (система v. cava superior) -vv. lumbales dextrae et sinistrae (система v. cava inferior)
76283. Воротная вена. Корни, притоки, анастамозы с полыми венами 440.37 KB
  Спереди, в области пупка, где своими притоками анастомозируют vv. paraumbilicales, идущие в толще lig. teres hepatis к воротной вене, v. epigastrica superior из системы v. cava superior (v. thoracica interna, v. brachiocephalica) и v. epigastrica inferior из системы v. cava inferior (v. iliaca externa, v. iliaca communis), v.thoracoepigastrica (v. subclavia dextra).
76285. Лимфатическая система, ее роль в организме. Классификация ее отделов. Лимфоидные образования пищеварительного тракта 13.54 KB
  Лимфатическая система является частью сосудистой системы. Основной функцией является резорбция из интерстициальных пространств жидкости и белков, вышедших из кровеносного русла и неспособных всасываться в кровеносные капилляры обратно.
76287. Важнейшие группы лимфатических узлов и лимфатические стволы грудной полости 31 KB
  Париетальные: Nodi lymphtici prsternles420 Собирает лимфу от тканей передней грудной стенки плевры перикарда нижние и верхние диафрагмальные узлы сосуды молочной железы и диаф. узлы плечеголовные вены и в левый яремный ствол и в предаортальные лимф. узлы. Отток в ductus thorcicus и шейные узлы .