ISPPO_HW_5

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

Транспортные протоколы: TCP и JSON

Проект демонстрирует организацию клиент-серверного взаимодействия на Python с использованием протокола TCP и формата сериализации JSON. Включает реализацию многократного обмена сообщениями и удаленного вычисления операций.

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

Проект использует исключительно стандартную библиотеку Python. Установка дополнительных зависимостей не требуется.

  • socket — работа с сетевыми сокетами.
  • json — сериализация и десериализация данных.

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

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

Задание 1: Множественный обмен сообщениями (TCP Echo)

Реализует диалог между клиентом и сервером. Клиент может отправлять сообщения циклически до команды выхода.

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

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

    8888
    и ожидать подключения.

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

    Клиент подключится. Вводите сообщения в консоль. Для завершения сеанса введите

    exit
    .


Задание 2: Удаленный калькулятор (TCP + JSON)

Клиент отправляет структурированный запрос с математической операцией, сервер выполняет вычисление и возвращает результат в JSON.

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

    Сервер ожидает подключение на порту

    8888
    .

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

    Клиент отправит запрос

    {"operation": "add", "x": 10, "y": 5}
    и выведет результат
    {"result": 15}
    .

Примечание: Так как оба задания используют порт

8888
, перед запуском второго задания убедитесь, что процессы первого задания завершены.


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

ФайлОписание
TCP_Echo_Server.py
Сервер для Задания 1. Поддерживает цикл приема сообщений до команды
exit
.
TCP_Echo_Client.py
Клиент для Задания 1. Позволяет пользователю вводить сообщения в цикле.
JSON_TCP_Server.py
Сервер для Задания 2. Парсит JSON, выполняет арифметические операции (
add
,
sub
,
mul
,
div
).
JSON_TCP_Client.py
Клиент для Задания 2. Формирует JSON-запрос с параметрами операции и числами.