Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet Server✓SOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

SocketIO — API

new SocketIO($port = null, $opts = []) создаёт корневой namespace, выбирает Nsp/Socket/Adapter и при заданном port открывает listener на всех IPv4-интерфейсах.

МетодНазначение
of($name, $callback = null)Получить/создать namespace; callback регистрируется на connect.
attach($server, $opts = [])Подключить Engine к существующему Server.
bind($engine)Привязать существующий Engine.
nsp($class = null), socket($class = null)Прочитать/задать класс соответствующего объекта.
adapter($class = null)Прочитать/сменить adapter; namespaces переинициализируют его.
origins($policy = null)Прочитать/задать origin policy и передать Engine.
on, emit, to, in, send, writeДелегирование корневому namespace.

Constructor options nsp/socket/adapter/origins обрабатывает SocketIO; прочие идут в Server constructor при создании listener. attach() создаёт new Engine() без передачи всего opts в Engine constructor, поэтому произвольный Engine option не применяется автоматически.

Nsp хранит sockets/connected и adapter. on('connection', ...)/on('connect', ...) — lifecycle. Другой emit($event, ...$data) формирует packet для клиентов. to/in($room) задают фильтр; send/write — событие message.

Вызов hook сам по себе не проверяет права. Для middleware и дополнительных extension points сначала проверьте фактический вызывающий путь выбранной версии Nsp.

APIПоведение
on($event, $listener)Подписка через emitter.
emit($event, ...$args)Отправка клиенту; последний callable — индивидуальный ACK.
join($room)Добавление только подключённого socket.
leave($room), leaveAll()Удаление membership.
to/in($room)Socket broadcast в rooms без отправителя.
send/write(...$args)Событие message.
disconnect(bool $close = false)Namespace либо целый client transport.
compress($value)Флаг следующей отправки; фактическая поддержка зависит от transport.

Handshake возвращает headers, time, address, xdomain, secure, issued, url и query. Методы onconnect/onpacket/onevent/onack/onclose обслуживают внутренний lifecycle; не вызывайте их для обхода handshake.

DefaultAdapter хранит sids/rooms, управляет membership и рассылает packet выбранным socket IDs. ChannelAdapter пересылает события через общий канал и помечает сообщения собственным ID для фильтрации собственных повторов.

Persistent history, application ack, exactly-once effect и восстановление rooms после перезапуска adapter не предоставляет. Внешний emitter не заменяет долговечную job queue.

Transport names: polling и websocket. Defaults Engine: pingInterval 25, pingTimeout 60, upgradeTimeout 5; handshake переводит значения в wire-format. Не подставляйте миллисекунды из другого API без сверки.

Engine packets: open, close, ping, pong, message, upgrade, noop. Внутри message находятся Socket.IO connect/disconnect/event/ack/error/binary-event/binary-ack. Совместимость binary-формата и heartbeat проверяется реальным client/server обменом, не успешным разбором одного WebSocket frame.

Transport/RFC6455 parser не валидирует бизнес-содержимое пользовательского event. Ограничивайте размер, частоту и разрешённые события на прикладной границе.