1.2 KiB
1.2 KiB
laravel-websockets
Overview
WebSocket server for Laravel, Pusher-compatible. Ratchet-based, runs as a long-lived artisan command via supervisor.
Architecture
src/Server/WebSocketHandler.php— main Ratchet handler (onOpen/onMessage/onClose/onError)src/Websocket/Handler.php— higher-level handler with app verification, channel managementsrc/Server/Loggers/— decorator loggers (HttpLogger, ConnectionLogger, WebSocketsLogger)src/Console/Commands/StartServer.php— artisan command that boots the event loop
Logging
- Auto-registers a
websocketlog channel (daily,storage/logs/websocket.log, 7-day retention) wsLog()helper in WebSocketHandler for structured server-side logging- Logger base class persists to file via
fileLog()in addition to console output
Configuration
- PUSHER_APP_KEY should always be
websocket— generic identifier, not environment-specific - Port 6001 (supervisor), Traefik terminates TLS in front
- Config at
config/websockets.php, apps defined via env vars
Conventions
- Improvements go here (the package), not in consumer vendor/ folders
- Commit, push, then
composer updatein the consumer project