Clank is a Symfony2 Bundle designed to bring together WebSocket functionality in a easy to use application architecture.
Much like Socket.IO it provides both server side and client side code ensuring you have to write as little as possible to get your app up and running.
Powered By Ratchet and Autobahn JS, with Symfony2
- Installation Instructions
- Client Javascript
- Server Side of RPC
- PubSub Topic Handlers
- Periodic Services(functions to be run every x seconds with the IO loop.)
- Session Management
- Clank Server Events
- Clank Chat (View Source) This is a simple chat room site where a user can join any channel and chat to people there.
###Step 1: Install via composer Add the following to your composer.json
{
"require": {
"jdare/clank-bundle": "0.1.*"
}
}
Then update composer to install the new packages:
php composer.phar update
###Step 2: Add to your App Kernel
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new JDare\ClankBundle\JDareClankBundle(),
);
}
###Step 3: Add to Assetic Bundles
Add "JDareClankBundle" to your assetic bundles in app/config (this is required to render the client side code).
# Assetic Configuration
assetic:
...
bundles: [ JDareClankBundle ]
###Step 4: Configure WebSocket Server
Add the following to your app/config.yml
# Clank Configuration
clank:
web_socket_server:
port: 8080 #The port the socket server will listen on
host: 127.0.0.1 #(optional) The host ip to bind to
Note: when connecting on the client, if possible use the same values as here to ensure compatibility for sessions etc.
The Server Side Clank installation is now complete. You should be able to run this from the root of your symfony installation.
php app/console clank:server
If everything is successful, you will see something similar to the following:
Starting Clank
Launching Ratchet WS Server on: *:8080
This means the websocket server is now up and running!
For further documentations on how to use Clank, please continue with the client side setup.