Doxygen config

This commit is contained in:
2025-05-01 01:27:21 +03:00
parent 8823945938
commit d6966f69db
12 changed files with 2666 additions and 15 deletions

View File

@@ -1,3 +1,8 @@
/*! @file server.hpp
Заголовочный файл сервера для игры в лабиринт на базе сокетов.
@author ParkSuMin
@date 2025.04.30 */
#ifndef SERVER_HPP
#define SERVER_HPP
@@ -11,18 +16,43 @@
#include <unistd.h>
#include <cstring>
/*! Максимальное количество клиентов, которые могут быть в очереди на подключение. */
const int MAX_CLIENTS = 512;
/*! Размер буфера для обмена данными между сервером и клиентом. */
const int BUFFER_SIZE = 1024;
/*! Класс сервера для игры в лабиринт с использованием сокетов (протокол TCP). */
class Server {
private:
bool service_mode;
int server_socket;
bool service_mode; ///< Флаг сервисного режима (тестовый режим без ограничения ходов).
int server_socket; ///< Серверный сокет для обработки клиентских подключений.
/*! Обрабатывает подключение одного клиента.
@details Создаёт лабиринт для клиента, принимает команды, обновляет состояние игры и отправляет ответы.
@param socket Сокет клиента.
@param flag Флаг сервисного режима.
@param steps Количество ходов, доступных игроку (игнорируется в сервисном режиме). */
void handle_client(int socket, bool flag, int steps);
/*! Проверяет статус игры.
@details Проверяет, остались ли ходы у игрока, и активен ли тестовый режим.
@param maze Экземпляр объекта класса лабиринта.
@return true, если игра продолжается, false — если игра завершена. */
bool check_status(Maze& maze);
public:
/*! Создаёт экземпляр сервера.
@details Инициализирует серверный сокет, связывает его с указанным хостом и портом.
@throw std::runtime_error При ошибке создания сокета, получения хоста или привязки.
@param host Адрес сервера (название хоста или IP-адрес).
@param port Порт сервера для подключения клиентов. */
Server(const std::string& host, const unsigned short port);
/*! Запускает сервер.
@details Начинает прослушивание входящих подключений и создаёт отдельные потоки для обработки клиентов.
@throw std::runtime_error При ошибке прослушивания или принятия соединения.
@param steps Количество ходов, доступных каждому игроку.
@param service_flag Флаг активации сервисного режима. */
void start(int steps, bool service_flag);
};