Skip to content

AlexNCoder/NetworkApp

Repository files navigation

Описание

Клиент и сервер для демонстрации возможностей по вычислениям на сервере на основе брокера сообщений mosquitto под управлением ОС Windows, Linux.

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

Для работы приложений-клиентов требуется установка mosquitto.

Сборка проекта NetworkApp (Linux)

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

git clone https://github.com/AlexNCoder/NetworkApp.git

Переход в директорию проекта

cd NetworkApp

Создание папки сборки

mkdir build

Переход в папку сборки

cd build

Запуск CMake

cmake ../

Сборка

make

Запуск и результат работы программ

Запустите брокер сообщений

mosquitto

В новой консоли перейдите в папку с приложением сервера

cd build/NetworkAppPseudoServer

При запуске клиента и сервера необходимо указать тему входящих и исходящих сообщений с соответствующими тегами в коне названия тем. Для клиента: /in/ - тег входящих сообщений, а /out/ исходящих. Для сервера: /out/ - тег входящих сообщений, а /in/ исходящих.

Запустите сервер:

./NetworkAppPseudoServer inputmessages/out/ resultoutput/in/

В новой консоли перейдите в папку с приложением клиента

cd build/NetworkAppClient

Запустите клиента:

./NetworkAppClient resultoutput/in/ inputmessages/out/

При запуске будет предложено ввести сообщение. В качестве сообщения допускается произвольная строка, содержащая как целые числа, так и числа с плавающей точкой (только ASCII символы). Введенное сообщение отправляется на сервер, на котором производится выделение и сортировка всех чисел по возрастанию, а также вычисление их суммы. Данные результаты отправляются клиенту и отображаются в консоли. Например:

Входная строка:

35 bread, 2.33 salt, 0,76 milk and 10 egg

Результат:

0.76 2.33 10 35
48.09

Или

Входная строка:

 ldsp0927(*&^566%89 8we73.2.3,5,6,7443 3mdkdss'99302.dff35g44...5

Результат:

3 3.5 5 6.7443 8 35 44 73.2 89 566 927 99302
101062

About

Клиент-серверный приложения с использованием Mosquitto

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published