Skip to content

Client send json's or structs by tcp. Server provides parsing statistics

License

Notifications You must be signed in to change notification settings

neMoePalto/json_by_tcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tcp_data_sender

Назначение

Проект решает задачу передачи с клиента на сервер двух типов данных:

  • "human readable" данные (фактически, файлы *.json);
  • данные в бинарном виде (сериализованные из POD-структур).
    Таким образом, можно поочередно передать произвольное количество информационных объектов обоих типов и посмотреть на сервере время, затраченное на разбор всего полученного сообщения, и среднее время сериализации одного информационного объекта.

Состав проекта

Проект состоит из двух графических приложений:

  • clientDataSender (tcp-клиент);
  • serverDataReceiver (tcp-сервер);

Сборка проекта

Приложения собираются стандартным образом:
qmake && make
Зависимости:

  • гарантированно подойдут Qt 5.7.1 или Qt 5.15.2 (возможно, подойдут и более ранние версии, например Qt5.3.*);
  • Boost.PropertyTree (header-only library from boost).

Конфигурационные файлы

На клиенте предусмотрена возможность ввода сетевых настроек. Введенные сетевые настройки сохраняются в файле settings.ini.
На сервере предусмотрено поле для ввода номера tcp-порта (после смены порта необходимо перезапустить tcp-сервер с помощью кнопки "Активировать tcp-сервер"). Default-значение порта сервера установлено в исходном коде, конфига нет. Сервер работает как через IP-адрес интерфейса, так и через localhost. Сервер поддерживает возможность приема данных от нескольких клиентов. Текущее количество обрабатываемых соединений - 3. Его можно изменить в исходном коде (значение передается в конструктор класса TcpServer).

TODO:

  1. Световой индикатор, изменяющий цвет при подключении клиента, не способен отразить количество подключений. Нужно что-то придумать.

About

Client send json's or structs by tcp. Server provides parsing statistics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published