PHPackages                             kanata-php/socket-conveyor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. kanata-php/socket-conveyor

ActiveLibrary[HTTP &amp; Networking](/categories/http)

kanata-php/socket-conveyor
==========================

A WebSocket/Socket message Router

2.4.4(1y ago)1192914MITPHPPHP &gt;=8.2CI passing

Since Aug 8Pushed 2w agoCompare

[ Source](https://github.com/kanata-php/socket-conveyor)[ Packagist](https://packagist.org/packages/kanata-php/socket-conveyor)[ GitHub Sponsors](https://github.com/kanata-php)[ RSS](/packages/kanata-php-socket-conveyor/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (10)Dependencies (15)Versions (60)Used By (4)

Socket Conveyor
===============

[](#socket-conveyor)

This package enables PHP 8.2+ applications to work with WebSocket messages using a routing strategy. Add an action handler implementing `ActionInterface`to the `SocketMessageRouter`, or run Conveyor in Pusher/Reverb-compatible mode for Laravel Echo clients.

Socket Conveyor is built on [OpenSwoole](https://openswoole.com/). You can find out more about using WebSockets with OpenSwoole [here](https://www.youtube.com/watch?v=Vgw5Ibqc15k).

Built for PHP 8.2+.

Documentation
-------------

[](#documentation)

- [Complete usage guide](docs/usage.md): installation, native Conveyor mode, Pusher/Reverb-compatible mode, Laravel Echo setup, HTTP endpoints, smoke testing, and troubleshooting.
- [Laravel Echo / Reverb compatibility guide](docs/laravel-echo-reverb-compatibility.md): the shortest path for using Conveyor with Laravel's built-in `reverb` or `pusher` broadcaster.
- [Real Pusher client smoke example](examples/pusher-real/README.md): local browser smoke test using `pusher-js` and Laravel Echo.
- [Project documentation site](https://socketconveyor.com).

Using Conveyor as a Pusher/Reverb server
----------------------------------------

[](#using-conveyor-as-a-pusherreverb-server)

Conveyor can run in a Pusher-compatible mode for Laravel's stock `pusher` or `reverb` broadcaster and the standard `pusher-js` / Laravel Echo client.

```
use Conveyor\Constants;
use Conveyor\ConveyorServer;

(new ConveyorServer())
    ->port(8080)
    ->conveyorOptions([
        Constants::WEBSOCKET_SUBPROTOCOL => Constants::PUSHER,
        Constants::USE_PRESENCE => true,
        Constants::APPS => [[
            'app_id' => 'local',
            'key' => env('REVERB_APP_KEY'),
            'secret' => env('REVERB_APP_SECRET'),
            'enable_client_messages' => true,
            'enabled' => true,
        ]],
    ])
    ->start();
```

Point Laravel at the Conveyor host and port with the normal Reverb/Pusher env values:

```
BROADCAST_CONNECTION=reverb
REVERB_APP_ID=local
REVERB_APP_KEY=your-app-key
REVERB_APP_SECRET=your-app-secret
REVERB_HOST=127.0.0.1
REVERB_PORT=8080
REVERB_SCHEME=http
```

The Pusher mode accepts WebSocket clients at `/app/{key}` and exposes the signed REST publish API at `/apps/{app_id}/events`, `/apps/{app_id}/batch_events`, and the channel info endpoints under `/apps/{app_id}/channels`.

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance76

Regular maintenance activity

Popularity24

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~30 days

Recently: every ~45 days

Total

59

Last Release

367d ago

Major Versions

0.2.5 → 1.0.02022-01-29

1.4.0 → 2.0.02023-12-17

2.1.3 → 3.0.0-beta2024-04-23

PHP version history (3 changes)0.2.5PHP ^8.0

2.0.0PHP ^8.2

2.4.4PHP &gt;=8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1092909?v=4)[Sávio Resende](/maintainers/lotharthesavior)[@lotharthesavior](https://github.com/lotharthesavior)

---

Top Contributors

[![lotharthesavior](https://avatars.githubusercontent.com/u/1092909?v=4)](https://github.com/lotharthesavior "lotharthesavior (161 commits)")

---

Tags

phprealtimewebsocketwebsockets

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/kanata-php-socket-conveyor/health.svg)

```
[![Health](https://phpackages.com/badges/kanata-php-socket-conveyor/health.svg)](https://phpackages.com/packages/kanata-php-socket-conveyor)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.6k38.2k](/packages/matomo-matomo)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.8M712](/packages/sylius-sylius)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M462](/packages/pimcore-pimcore)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19564.8M1.6k](/packages/drupal-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9317.2k55](/packages/open-dxp-opendxp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
