https://github.com/striter-no/amulet
Фреймворк для создания сети сервер-клиент на UNIX системах
https://github.com/striter-no/amulet
cpp socket tcp-socket
Last synced: about 2 months ago
JSON representation
Фреймворк для создания сети сервер-клиент на UNIX системах
- Host: GitHub
- URL: https://github.com/striter-no/amulet
- Owner: striter-no
- Created: 2024-09-02T14:02:20.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-02T14:48:06.000Z (almost 2 years ago)
- Last Synced: 2025-03-05T13:19:16.689Z (over 1 year ago)
- Topics: cpp, socket, tcp-socket
- Language: C++
- Homepage:
- Size: 299 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Проект Amulet
## Зачем нужен этот проект
Этот проект нужен для развертывания системы сервер-клиент на системах под управлением систем на основе UNIX
## Что этот проект позволяет сделать
- Клиента (он синхронный, но ничто не останавливает вас от того, чтобы запускать его в отдельном потоке)
- Разные сервера, а именно:
- Сервер синхронный, т.е. блокирующий. Он обрабатывает запросы от клиентов в порядке очереди, поэтому в реальных проектах неэффективен
- Сервер асинхронный. Он обрабатывает запросы от клиентов параллельно, но если один из клиентов долго не отвечает, сервер не сможет дальше продолжить работу. Т.е. скорость обработки запросов зависит от того, на сколько долго будет отвечать самый медленный клиент
- Сервер «отсоединенный». Он обрабатывает запросы от клиентов в отдельных потоках, поэтому даже самый медленный клиент не сможет негативно повлиять на обработку других клиентов
## Компиляция проекта
Для компиляции нужен компилятор `C++` кода, например `G++` или `Clang++`, а также `Python` интерпретатор
```shell
python ./tools/compile.py ./source/blockingClient # Для компиляции с помощью G++
python ./tools/compile.py ./source/asyncServer clang++ # Для компиляции с помощью Clang++
```
## Другая информация
Клиент и сервер могут вести подробные логи, как в консоль, так и в файл