generated from administrator/template_project
1.5 KiB
1.5 KiB
test_server
A C++ HTTP server using the PIP library.
Build & Run
mkdir build && cd build
cmake ..
make
./test_server
Key Facts
- C++ Standard: C++11 (enforced)
- Build System: CMake (generates
compile_commands.jsonautomatically) - Build Directory:
build/(ignored in git) - PIP Library: Installed at
/usr/local/include/pip - Entrypoint:
src/main.cpp
Dependencies
The project uses a custom PIP C++ library (not Python pip). Required components:
PIP::Console- Console output (piCout)PIP::HTTPServer- HTTP server functionalityPIP::IOUtils- I/O utilitiesPIP::ClientServer- Client/server infrastructure
Code Style
- Formatter: clang-format (config in
.clang-format) - Indent: Tabs, width 4
- Column Limit: 140 characters
- Encoding: UTF-8
Run formatter:
clang-format -i src/*.cpp src/*.h
Architecture
The server creates a PIKbdListener that:
- Captures F10 key press for graceful exit
- Starts an HTTP server on
0.0.0.0:8888 - Waits for exit signal via
WAIT_FOR_EXITmacro
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/connect |
GET | Connects TCP client to 127.0.0.1:1234 |
/api/disconnect |
GET | Disconnects TCP client |
Testing
Use reproduce_crash.sh to test the TCP connect/disconnect functionality:
./reproduce_crash.sh
Notes
- Qt Creator is the primary IDE (
.qtcreator/config present) - No unit tests or CI configured