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: 2024-11-07 02:14:30 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