onveyor
Site menu
GitHub
Native Conveyor / Conveyor Both modes

Conveyor

Socket Conveyor routes WebSocket messages in PHP using OpenSwoole.

What it provides

A long-running OpenSwoole WebSocket server.
A native JSON action protocol for direct WebSocket clients.
A Pusher/Reverb-compatible protocol for Laravel Echo and pusher-js.
Channel membership, private/presence authorization, server-side broadcasts, acknowledgments, and custom action handlers.

Protocol modes

Choose one mode per server instance.

Native · socketconveyor.com
php
Constants::WEBSOCKET_SUBPROTOCOL => Constants::SOCKET_CONVEYOR
Pusher/Reverb · pusher.com
php
Constants::WEBSOCKET_SUBPROTOCOL => Constants::PUSHER

When to use native mode

Use it when you control the WebSocket client and want simple JSON actions:

base-actionchannel-connectbroadcast-actionfanout-actionchannel-disconnectacknowledge-action

It is also the path for custom native protocol action handlers. Hook actions and filters also have Pusher support at the documented invocation points.

Native usage →

When to use Pusher/Reverb mode

  • A Laravel app should broadcast through its built-in reverb or pusher connection.
  • Conveyor acts as the compatible WebSocket and REST broadcast server.
  • Laravel keeps handling /broadcasting/auth and routes/channels.php.
  • Normal Laravel Echo usage does not need a custom Conveyor Laravel broadcaster package.
Server configuration: Pusher Protocol →

For companion packages, runtime requirements and planned versions, see the ecosystem overview.