1. Go to this page and download the library: Download p2/ratchet-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
p2 / ratchet-bundle example snippets
# src/Acme/Bundle/ChatBundle/WebSocket/Application.php
namespace Acme\Bundle\ChatBundle\WebSocket;
use P2\Bundle\RatchetBundle\WebSocket\Server\ApplicationInterface;
class Application implements ApplicationInterface
{
public static function getSubscribedEvents()
{
return array(
'acme.websocket.some.event' => 'onSomeEvent'
// ...
);
}
// put your event handler code here ...
}
# src/Acme/Bundle/ChatBundle/WebSocket/Loop/CustomTimer.php
namespace Acme\Bundle\ChatBundle\WebSocket\Loop;
use P2\Bundle\RatchetBundle\WebSocket\Server\Loop\PeriodicTimerInterface;
class CustomTimer implements PeriodicTimerInterface
{
/**
* Returns the interval for this timer
*
* @return int
*/
public function getInterval()
{
return 60; // execute this timer once per minute
}
/**
* Returns the callback.
*
* @return callable
*/
public function getCallback()
{
return function() {
// do something
};
}
/**
* Returns a unique name for this timer.
*
* @return string
*/
public function getName()
{
return 'custom_timer';
}
}
# src/Acme/Bundle/ChatBundle/WebSocket/ChatApplication.php
namespace Acme\Bundle\ChatBundle\WebSocket;
use P2\Bundle\RatchetBundle\WebSocket\ConnectionEvent;
use P2\Bundle\RatchetBundle\WebSocket\Payload;
use P2\Bundle\RatchetBundle\WebSocket\Server\ApplicationInterface;
class ChatApplication implements ApplicationInterface
{
public static function getSubscribedEvents()
{
return array(
'chat.send' => 'onSendMessage'
);
}
public function onSendMessage(MessageEvent $event)
{
$client = $event->getConnection()->getClient()->jsonSerialize();
$message = $event->getPayload()->getData();
$event->getConnection()->broadcast(
new EventPayload(
'chat.message',
array(
'client' => $client,
'message' => $message
)
)
);
$event->getConnection()->emit(
new EventPayload(
'chat.message.sent',
array(
'client' => $client,
'message' => $message
)
)
);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.