merged AI doc, some new pages

This commit is contained in:
2026-03-12 14:46:57 +03:00
parent 07ae277f9e
commit ed13838237
206 changed files with 14088 additions and 5152 deletions

View File

@@ -1,9 +1,8 @@
/*! \file piclientserver_server.h
* \ingroup ClientServer
* \~\brief
* \~english
* \~russian
*/
//! \~\file piclientserver_server.h
//! \~\ingroup ClientServer
//! \brief
//! \~english TCP Server
//! \~russian TCP Сервер
/*
PIP - Platform Independent Primitives
Ivan Pelipenko peri4ko@yandex.ru
@@ -38,54 +37,72 @@ namespace PIClientServer {
class ServerClient;
//! ~english TCP server for client-server communication
//! ~russian TCP сервер для клиент-серверного взаимодействия
//! \~\ingroup ClientServer
//! \~\brief
//! \~english TCP server implementation for client-server communication. Accepts incoming connections and manages multiple clients with
//! configurable factory for client instance creation.
//! \~russian Реализация TCP сервера для клиент-серверного взаимодействия. Принимает входящие соединения и управляет несколькими клиентами с
//! настраиваемой фабрикой для создания экземпляров клиентов.
class PIP_CLIENT_SERVER_EXPORT Server: public PIStreamPackerConfig {
friend class ServerClient;
NO_COPY_CLASS(Server);
public:
//! \~english Constructs a stopped server with default limits.
//! \~russian Создает остановленный сервер с ограничениями по умолчанию.
Server();
//! \~english Stops the server and releases transport resources.
//! \~russian Останавливает сервер и освобождает транспортные ресурсы.
virtual ~Server();
//! ~english Starts listening on specified address
//! ~russian Начинает прослушивание на указанном адресе
//! \~english Starts listening for clients on address "addr".
//! \~russian Начинает принимать клиентов по адресу "addr".
void listen(PINetworkAddress addr);
//! ~english Starts listening on all interfaces
//! ~russian Начинает прослушивание на всех интерфейсах
//! \~english Starts listening on all interfaces at port "port".
//! \~russian Начинает прослушивание на всех интерфейсах на порту "port".
//! \~\details
//! \~english Equivalent to listen({0, port}), binds to all available network interfaces.
//! \~russian Эквивалентно listen({0, port}), привязывается ко всем доступным сетевым интерфейсам.
void listenAll(ushort port) { listen({0, port}); }
//! ~english Stops the server
//! ~russian Останавливает сервер
//! \~english Stops accepting clients and shuts the server down.
//! \~russian Прекращает прием клиентов и завершает работу сервера.
void stopServer();
//! ~english Closes all client connections
//! ~russian Закрывает все клиентские соединения
//! \~english Closes all currently connected clients.
//! \~russian Закрывает все текущие клиентские соединения.
//! \~\details
//! \~english Immediately closes all active client connections without stopping the server.
//! \~russian Немедленно закрывает все активные клиентские соединения без остановки сервера.
void closeAll();
//! ~english Gets maximum allowed clients
//! ~russian Возвращает максимальное число клиентов
//! \~english Returns the configured maximum number of simultaneous clients.
//! \~russian Возвращает настроенный максимум одновременных клиентов.
int getMaxClients() const { return max_clients; }
//! ~english Sets maximum allowed clients
//! ~russian Устанавливает максимальное число клиентов
//! \~english Sets the maximum number of simultaneous clients.
//! \~russian Устанавливает максимальное число одновременных клиентов.
//! \~\details
//! \~english Sets the maximum number of concurrent client connections. Default is 1000.
//! \~russian Устанавливает максимальное количество одновременных клиентских подключений. По умолчанию 1000.
void setMaxClients(int new_max_clients);
//! ~english Gets current clients count
//! ~russian Возвращает текущее количество клиентов
//! \~english Returns the number of currently connected clients.
//! \~russian Возвращает текущее количество подключенных клиентов.
int clientsCount() const;
//! ~english Executes function for each connected client
//! ~russian Выполняет функцию для каждого подключённого клиента
//! \~english Calls "func" for each currently connected client.
//! \~russian Вызывает "func" для каждого текущего подключенного клиента.
void forEachClient(std::function<void(ServerClient *)> func);
//! ~english Sets factory for creating new client instances
//! ~russian Устанавливает фабрику для создания клиентских экземпляров
//! \~english Sets the factory used to create accepted client objects.
//! \~russian Устанавливает фабрику, создающую объекты принятых клиентов.
void setClientFactory(std::function<ServerClient *()> f) { client_factory = f; }
private: