Doxygen config
This commit is contained in:
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user