ISPPO_HW_4

0
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
README.md

Транспортные протоколы и форматы данных

Проект демонстрирует работу клиент-серверных взаимодействий на Python с использованием протоколов TCP/UDP и форматов сериализации JSON/MessagePack.

📋 Список внешних библиотек

Для работы проекта требуется одна внешняя библиотека для бинарной сериализации:

  • msgpack — эффективный бинарный формат сериализации.

Остальные используемые модули (

socket
,
json
,
time
,
datetime
) входят в стандартную библиотеку Python.

Установка зависимостей


🚀 Инструкции по запуску

Проект состоит из 4 скриптов, разделенных на два задания. Запускать их нужно в разных терминалах.

Задание 1: TCP + JSON (Надежная передача)

Моделирует запрос-ответ между клиентом и сервером.

  1. Запуск сервера:

    Сервер начнет слушать порт

    15000
    .

  2. Запуск клиента: Откройте новый терминал и выполните:

    Клиент подключится, отправит запрос

    get_rates
    и выведет полученные курсы валют.


Задание 2: UDP + MessagePack (Широковещательная рассылка)

Моделирует потоковую передачу данных без установки соединения.

  1. Запуск сервера (вещателя):

    Сервер будет отправлять пакеты каждые 3 секунды на порт

    15001
    .

  2. Запуск клиента (приемника): Откройте новый терминал и выполните:

    Клиент начнет принимать и распаковывать бинарные пакеты, выводя номер последовательности и курс.


📁 Структура файлов

ФайлОписание
TCP_Server.py
Сервер, принимающий подключения и отдающий JSON.
TCP_Client.py
Клиент, запрашивающий данные через TCP.
UDP_Server.py
Сервер, рассылающий бинарные пакеты (MessagePack) через UDP Broadcast.
UDP_Client.py
Клиент, слушающий эфир и обрабатывающий потерю пакетов.