Download the PHP package atipik/hoa-websocket-bundle without Composer
On this page you can find all versions of the php package atipik/hoa-websocket-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package hoa-websocket-bundle
Atipik/HoaWebSocketBundle
This bundle allows you to use Hoa/Websocket/Server and Hoa/Websocket/Client into Symfony2.
With a simple configuration, you will be able to launch your WebSocket server
1. Installation
1.1 Update your composer.json
Add these lines to your require section:
1.2 Install dependencies
1.3 Update your AppKernel.php file
1.4 Configure your project
To enable this bundle, you must add these lines in your config.yml
:
You can also specify address and port.
By default, server will be started on 127.0.0.1:8080
2. Architecture
The Symfony 2 command php app/console hoa:websocketserver
has only one job: calling a runner.
The runner links modules (your logic code) and WebSocket events which are managed by Atipik\Hoa\WebSocketBundle\WebSocket\Server
.
When the WebSocket server receives an event, the runner catches it and calls all subscribed modules.
3. Server
3.1 Simple Usage
-
In your bundle, create a class which extends
Atipik\Hoa\WebSocketBundle\WebSocket\Module\Module
: - Update your
services.yml
:
Don't forget to add atipik_hoa_web_socket.module
tag !
-
In this class, implement the
getSubscribedEvents
method: - Add logic code:
You can get the current bucket by using $this->getBucket()
.
- Launch your WebSocket server:
3.2 Advanced Usage
3.2.1 Modules group
If you want to scale your server, you can affect modules to different group and launch server for one or more group.
You can affect many modules in the same group
If you launch the server without group, all modules will be used.
-
Just override
getGroup()
method in your module: - Launch your server by specifying group:
You can also specify more than one group:
3.2.2 Override runner class
If you want to modify how the runner works, you should override its class:
- Create a runner class that extends
Atipik\Hoa\WebSocketBundle\WebSocket\Runner
. - Update your
services.yml
:
3.2.3 Override server class
If you want to modify how the WebSocket Server works, you should override its class:
- Create a server class which extends
Atipik\Hoa\WebSocketBundle\WebSocket\Server
. - Update your
services.yml
:
3.2.4 Override node class
Hoa/Websocket allows you to override node class to add your own data.
Of course, this bundle allow you to specify which class to use:
-
Create a node class which extends
Hoa\Websocket\Node
: -
Update your
services.yml
: - You can now access the current node, an instance of your node class:
4. Client
If you want to communicate with a WebSocket Server, you can use service atipik_hoa_web_socket.client
by using $this->get('atipik_hoa_web_socket.client')
in your controller or to inject this service directly in services.yml.
For more documentation about WebSocket Client, see Hoa/WebSocket's documentation.
5. Launch unit tests
6. More documentation
See Hoa/WebSocket's documentation) to know how to use How/WebSocket and to have an example of JavaScript code.
All versions of hoa-websocket-bundle with dependencies
symfony/framework-bundle Version >=2.3
symfony/console Version >=2.3
hoa/websocket Version ~3.0