lispberry / cpp_test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Тестовое задание

Почему был выбран протокол TCP на транспортном уровне

TCP предоставляет поток данных, гарантируя, что пакеты придут в порядке отправки и что дубликаты будут устранены. Если пакет был потерян по пути, он будет отправлен заново. Поскольку мы передаем файл с данными, нам важно, чтобы он дошел весь. Если бы мы выбрали UDP в качестве транспортного протокола, то весь этот функционал пришлось бы реализовывать самостоятельно.

Об архитектуре сервера

Подключения принимаются на одном потоке. Для каждого подключения создается отдельный поток, который и отдает файл. Каждый поток работает с блокирующим IO.

О тестировании

В директории test находятся интеграционные тесты.

About


Languages

Language:C++ 83.9%Language:CMake 16.1%