ISPPO_HW_5
Транспортные протоколы: TCP и JSON
Проект демонстрирует организацию клиент-серверного взаимодействия на Python с использованием протокола TCP и формата сериализации JSON. Включает реализацию многократного обмена сообщениями и удаленного вычисления операций.
📋 Список внешних библиотек
Проект использует исключительно стандартную библиотеку Python. Установка дополнительных зависимостей не требуется.
- socket — работа с сетевыми сокетами.
- json — сериализация и десериализация данных.
🚀 Инструкции по запуску
Проект состоит из 4 скриптов, разделенных на два задания. Для каждого задания сервер и клиент запускаются в разных терминалах.
Задание 1: Множественный обмен сообщениями (TCP Echo)
Реализует диалог между клиентом и сервером. Клиент может отправлять сообщения циклически до команды выхода.
-
Запуск сервера:
Сервер начнет слушать порт
и ожидать подключения.8888 -
Запуск клиента: Откройте новый терминал и выполните:
Клиент подключится. Вводите сообщения в консоль. Для завершения сеанса введите
.exit
Задание 2: Удаленный калькулятор (TCP + JSON)
Клиент отправляет структурированный запрос с математической операцией, сервер выполняет вычисление и возвращает результат в JSON.
-
Запуск сервера:
Сервер ожидает подключение на порту
.8888 -
Запуск клиента: Откройте новый терминал и выполните:
Клиент отправит запрос
и выведет результат{"operation": "add", "x": 10, "y": 5}.{"result": 15}
Примечание: Так как оба задания используют порт
, перед запуском второго задания убедитесь, что процессы первого задания завершены.8888
📁 Структура файлов
| Файл | Описание |
|---|---|
| Сервер для Задания 1. Поддерживает цикл приема сообщений до команды . |
| Клиент для Задания 1. Позволяет пользователю вводить сообщения в цикле. |
| Сервер для Задания 2. Парсит JSON, выполняет арифметические операции (, , , ). |
| Клиент для Задания 2. Формирует JSON-запрос с параметрами операции и числами. |