gonzakpo / websocket-bundle
Ratchet abstraction for Symfony 4
Installs: 182
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^7.3
- cboden/ratchet: ^0.4.1
- ratchet/pawl: ^0.3.4
- symfony/framework-bundle: ^3.4|^4.3|^5.0
This package is auto-updated.
Last update: 2025-05-07 03:22:23 UTC
README
This small bundle is a Ratchet abstraction for Symfony 4. Just create message handlers and your server is set.
Installation
Open a command console, enter your project directory and execute:
$ composer require gonzakpo/websocket-bundle
Create handlers
Create services implementing HandlerInterface
:
<?php
// src/Handler/WelcomeHandler.php
namespace App\Handler;
use Ratchet\ConnectionInterface;
use RollandRock\WebsocketBundle\Client\ClientStack;
use RollandRock\WebsocketBundle\Handler\HandlerInterface;
class WelcomeHandler implements HandlerInterface
{
public static function getName(): string
{
return 'welcome';
}
public function handle(ClientStack $clientStack, ConnectionInterface $from, array $data)
{
// Handle the "welcome" message sent by $from, containing $data.
// You also have access to the whole clients stack
}
}
Configure handlers
The default port is 4242. You can change it.
Also, the default clients that will be provided will be instances of RollandRock\WebsocketBundle\Client
. You can extend it to fit your needs and specify it in the config.
rolland_rock_websocket:
port: 3240
client: App\Client\Client
Run the server
php bin/console rr:websocket:server
Send messages
The messages need to have the following format :
{
"type": "welcome",
"data": {
/* some data */
}
}
Author
Gonzalo Alonso - gonkpo@gmail.com
By
Pierre Rolland - roll.pierre@gmail.com