Download the PHP package tourze/socket-io-bundle without Composer
On this page you can find all versions of the php package tourze/socket-io-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tourze/socket-io-bundle
More information about tourze/socket-io-bundle
Files in tourze/socket-io-bundle
Package socket-io-bundle
Short Description Socket.IO implementation for Symfony applications with real-time communication support
License MIT
Informations about the package socket-io-bundle
Socket.IO Bundle
中文
A Symfony bundle providing a full-featured Socket.IO server implementation for real-time, bidirectional communication. Supports room management, message delivery, namespaces, and persistent storage.
Table of Contents
- Features
- Installation
- Configuration
- Dependencies
- Quick Start
- Usage
- Advanced Usage
- Commands
- Testing
- Contributing
- License
- Changelog
Features
- Full Socket.IO server implementation (PHP, Symfony)
- Room management (join/leave, auto-cleanup)
- Message delivery, broadcast, and history
- Namespace support
- Auto-reconnect and heartbeat
- Persistent storage (Doctrine ORM)
- Extensible service layer
Installation
Configuration
Set these in your .env:
Quick Start
-
Register the bundle in your Symfony config if not using Flex:
-
Add the endpoint to your routes (if not using annotation routing):
- Start the server and connect from your JS client:
Dependencies
This bundle requires the following:
PHP Requirements:
- PHP >= 8.1
Symfony Requirements:
- Symfony >= 7.3
- Doctrine ORM >= 3.0
- EasyAdmin Bundle >= 4.0
Core Dependencies:
doctrine/orm: ^3.0doctrine/doctrine-bundle: ^2.13easycorp/easyadmin-bundle: ^4symfony/framework-bundle: ^7.3symfony/console: ^7.3
Usage
Basic Client Connection
Server-Side Broadcasting
Advanced Usage
Custom Room Logic
Extend the RoomService to implement custom room behavior:
Message Delivery Status
Monitor message delivery using the DeliveryService and MessageStatus enum:
Persistent Message History
Access message history via Doctrine entities:
Commands
Heartbeat Command
Execute Socket.IO heartbeat check and resource cleanup:
Options:
--daemon(-d): Run in daemon mode--interval=25000(-i): Heartbeat interval in milliseconds (default: 25000)
This command:
- Checks active connections and removes expired ones
- Cleans up expired deliveries and messages
- Broadcasts alive events to active connections
- Can run continuously in daemon mode
Cleanup Deliveries Command
Clean up expired message delivery records:
Options:
--days=7(-d): Retention period in days (default: 7)--daemon: Run in daemon mode--interval=3600(-i): Cleanup interval in seconds (default: 3600)
This command removes delivery records older than the specified number of days. It can run once or continuously in daemon mode for automated cleanup.
Testing
Run the test suite:
Run with coverage:
Contributing
PRs and issues welcome! Please follow PSR-12 and Symfony best practices.
- Fork the repository
- Create your feature branch (
git checkout -b feature/my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin feature/my-new-feature) - Create a new Pull Request
License
MIT License. See LICENSE.
Changelog
See Releases for version history.
All versions of socket-io-bundle with dependencies
chrisullyott/php-filesize Version ^4.2
doctrine/collections Version ^2.3
doctrine/data-fixtures Version ^2.0
doctrine/dbal Version ^4.0
doctrine/doctrine-bundle Version ^2.13
doctrine/doctrine-fixtures-bundle Version ^4.0
doctrine/orm Version ^3.0
doctrine/persistence Version ^4.1
easycorp/easyadmin-bundle Version ^4
fakerphp/faker Version ^1.23
knplabs/knp-menu Version ^3.7
monolog/monolog Version ^3.1
psr/log Version ^3|^2|^1
symfony/config Version ^7.3
symfony/console Version ^7.3
symfony/dependency-injection Version ^7.3
symfony/doctrine-bridge Version ^7.3
symfony/event-dispatcher Version ^7.3
symfony/event-dispatcher-contracts Version ^3
symfony/form Version ^7.3
symfony/framework-bundle Version ^7.4
symfony/http-foundation Version ^7.4
symfony/http-kernel Version ^7.3
symfony/property-access Version ^7.3
symfony/routing Version ^7.3
symfony/yaml Version ^7.3
tourze/bundle-dependency Version 1.*
tourze/doctrine-indexed-bundle Version 1.0.*
tourze/doctrine-snowflake-bundle Version 1.1.*
tourze/doctrine-timestamp-bundle Version 1.1.*
tourze/easy-admin-menu-bundle Version 1.0.*
tourze/enum-extra Version 1.0.*
tourze/symfony-dependency-service-loader Version 1.0.*
tourze/symfony-routing-auto-loader-bundle Version 1.0.*