Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Websocket Laravel Package

phrity/websocket

PHP WebSocket client and multi-connection server with ws/wss support. Includes listener callbacks, standard Close and Ping/Pong handling, optional deflate compression, fragmentation and masking support, plus middleware system for extending behavior.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Real-time features: Enables WebSocket-based real-time communication (e.g., chat, notifications, live updates) without polling, reducing latency and server load. The 3.7.2 fix ensures robustness by properly detaching failed connections during handshakes, improving stability for production-grade applications.
  • Build vs. buy: Avoids reinventing WebSocket infrastructure; leverages a maintained, feature-rich PHP package instead of custom development. The active maintenance (e.g., bug fixes like PR #154) reduces technical debt and risk.
  • Scalability: Supports multi-connection servers, enabling horizontal scaling for high-traffic applications (e.g., gaming, collaborative tools). The handshake failure handling mitigates connection leaks, critical for large-scale deployments.
  • Roadmap priorities:
    • Phase 1: Integrate WebSocket for low-latency features (e.g., dashboards, live feeds) with confidence in connection stability.
    • Phase 2: Extend with custom middleware for protocol extensions (e.g., authentication, compression) while relying on the package’s fixed handshake logic.
    • Phase 3: Replace legacy polling APIs with WebSocket endpoints, leveraging the package’s improved reliability.
  • Use cases:
    • Internal tools: Real-time admin panels or monitoring dashboards (now safer with fixed handshake failures).
    • Customer-facing: Chat apps, live support, or multiplayer games (critical for uninterrupted connections).
    • IoT/Embedded: Lightweight WebSocket clients for device communication (reduced connection drops).

When to Consider This Package

  • Adopt if:

    • Your PHP stack needs native WebSocket support (client/server) without external services (e.g., Pusher, Socket.io), and you require stable handshake handling (fixed in 3.7.2).
    • You need protocol compliance (Ping/Pong, fragmentation, masking) and middlewares for extensibility, with reliable connection cleanup.
    • Your use case demands low-latency, bidirectional communication (e.g., live updates, collaborative editing) where connection failures are critical to handle.
    • You’re replacing an abandoned library (e.g., textalk/websocket) or need a modern, actively maintained alternative with recent bug fixes.
  • Look elsewhere if:

    • You need WebSocket + REST/HTTP hybrid features; consider Ratchet or ReactPHP for event-driven architectures.
    • Your team lacks PHP expertise; evaluate Node.js (Socket.io) or Python (Django Channels) for faster development.
    • You require built-in scaling (e.g., load balancing, clustering); pair this with Redis pub/sub or a microservice architecture.
    • Your use case is simple pub/sub; consider Laravel Echo (built on top of Pusher/Socket.io) if you prioritize ease over native PHP control.
    • You cannot tolerate any connection instability (e.g., financial trading systems); validate further with load testing.

How to Pitch It (Stakeholders)

For Executives: "This package now includes a critical fix (3.7.2) for failed WebSocket handshakes, ensuring our real-time features (e.g., live dashboards, chat) remain stable under load. By adopting it, we avoid reinventing WebSocket infrastructure, reduce server costs with bidirectional communication, and accelerate our roadmap for [X feature]—all while mitigating connection leaks. The active maintenance (e.g., PR #154) lowers technical risk compared to custom solutions."

For Engineers: *"Phrity/WebSocket (v3.7.2) is now more robust with proper connection detachment on handshake failures. Key updates:

  • Handshake reliability: Failed connections are cleanly detached, preventing resource leaks (critical for production).
  • Middleware extensibility: Still supports auth, compression, and subprotocols without trade-offs.
  • Lightweight: No external dependencies; integrates seamlessly with Laravel/Symfony. Example: For a high-traffic app, this fix ensures no stale connections linger during spikes. Use the CompressionExtension to optimize bandwidth further."*

For Developers: *"This is the successor to textalk/websocket, now with a critical bug fix (3.7.2). Key changes:

  • Handshake failures: Connections now detach properly if the handshake fails (e.g., invalid protocol).
  • Same API: No breaking changes—upgrade safely with:
    composer update phrity/websocket
    

Use case: Secure your WebSocket server with:

$server = new WebSocket\Server();
$server->addMiddleware(new WebSocket\Middleware\PingResponder());
$server->onText(fn($server, $conn, $msg) => $conn->text("Pong!"));
$server->start(); // Now handles failures gracefully.

Pro tip: Test with WebSocket\Client to simulate edge cases (e.g., malformed handshakes)."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
craftcms/url-validator
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony