![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Модуль ClientServer предоставляет TCP-сервер, принимающий соединения и управляющий объектами клиентов, и активный клиент, подключающийся к серверу. Всё в пространстве имён PIClientServer.
PIClientServer::Server слушает адрес (например listenAll(port) на всех интерфейсах). Для каждого принятого соединения создаётся PIClientServer::ServerClient. Можно подменить тип клиента и обрабатывать жизненный цикл (данные, отключение). getMaxClients() / setMaxClients() ограничивают число одновременных соединений. listen(addr) — запуск, stopServer() — остановка, closeAll() — закрытие всех клиентов.
PIClientServer::ServerClient — серверное представление одного подключённого клиента. Объекты создаёт и владеет сервер. Переопределите aboutDelete() при необходимости очистки перед удалением. Отправка и приём данных — через базовый API (ClientBase).
PIClientServer::Client — активный клиент: подключается к удалённому серверу (адрес/порт). После подключения используется тот же API отправки/приёма. Подключение, обмен, отключение.
Сервер: создать Server, при необходимости задать лимит клиентов и обработчики, вызвать listen() или listenAll(port). Обрабатывать события клиентов в переопределениях или через хуки. Клиент: создать Client, подключиться к адресу сервера, обмен данными, отключиться.
Полный API: piclientserver_server.h, piclientserver_client.h, piclientserver_client_base.h.