API: localzet\Server
Эта страница описывает API текущей версии исходников. Перед применением проверьте установленную версию пакета; существенные различия сведены в сравнении версий.
Создание listener-а
use localzet\Server;
$server = new Server('http://127.0.0.1:8080');
$server->name = 'api';
$server->count = 4;
Server::runAll();
Конструктор: new Server(?string $socketName = null, array $socketContext = []). Тип URI выбирает TCP/UDP/HTTP/HTTPS/WebSocket transport. TLS параметры передаются как PHP stream context; проверьте их на целевом runtime.
runAll() запускает все зарегистрированные instances и блокирует текущий процесс. В CLI режиме management commands следует вызывать из того же entry file после создания нужных серверов.
Основные свойства
| Свойство | Назначение |
|---|---|
name, count | Имя и число workers |
transport, protocol, eventLoop | Transport/protocol и event loop configuration |
user, group | Unix worker privilege configuration |
reusePort | Опция listener-а; проверьте поддержку ОС и нужную топологию |
maxRequests, maxLifetime, maxMemory | Worker recycle guardrails |
maxConnections | Ограничение клиентских соединений worker-а |
idleTimeout, frameTimeout, tlsHandshakeTimeout | Таймауты соединения и framing |
stopTimeout | Лимит времени graceful stop |
logFile, stdoutFile, pidFile, statusFile | Runtime paths для диагностики/управления |
Фактические значения и их взаимодействие с connection defaults смотрите в исходниках Server.php и ServerAbstract.php. Для production задайте лимиты осознанно: общих значений для всех payload-ов нет.
Callback-и
onMessage(TcpConnection $connection, mixed $message)— complete decoded message;onConnect(TcpConnection $connection)иonClose(TcpConnection $connection)— lifecycle соединения;onError(TcpConnection $connection, Throwable $exception)— ошибка соединения/обработки;onBufferFullиonBufferDrain— обратная связь по send buffer;onServerStart,onServerStop,onServerReload,onServerExit— lifecycle server/worker;onWebSocketConnect,onWebSocketConnected,onWebSocketPing,onWebSocketPong,onWebSocketClose— WebSocket lifecycle.
Callback должен быть коротким и не выполнять блокирующие операции в event loop. Для HTTP onMessage получает Request; для raw TCP тип сообщения определяет protocol.
Методы
Публичные методы включают listen(), unlisten(), pauseAccept(), resumeAccept(), getSocketName(), getMainSocket(), getProcessedMessages() и getWorkerUptime(). Статические методы включают getAllServers(), getStatus(), getVersion(), getEventLoop(), stopAll() и reloadAll().
Для администрирования процесса предпочитайте поддерживаемый CLI (status, connections, capabilities, reload, upgrade, restart, stop), а не прямое изменение внутренних статических свойств.

