как правильно использовать webSockets в Symfony2

Я пытаюсь реализовать websockets в Symfony2,

Я нашел этот http://socketo.me/, который кажется довольно хорошим.

Я пробовал это из Symfony, и это работает, это был простой вызов с использованием telnet. Но я не знаю, как интегрировать это в Symfony.

Я думаю, что мне нужно создать сервис, но я не знаю, какой вид сервиса и как его вызвать от клиента

Спасибо за вашу помощь.

Сначала вы должны создать сервис. Если вы хотите ввести менеджера сущностей и другие зависимости, сделайте это там.

В src / MyApp / MyBundle / Resources / config / services.yml:

services: chat: class: MyApp\MyBundle\Chat arguments: - @doctrine.orm.default_entity_manager 

И в src / MyApp / MyBundle / Chat.php:

 class Chat implements MessageComponentInterface { /** * @var \Doctrine\ORM\EntityManager */ protected $em; /** * Constructor * * @param \Doctrine\ORM\EntityManager $em */ public function __construct($em) { $this->em = $em; } // onOpen, onMessage, onClose, onError ... 

Затем создайте консольную команду для запуска сервера.

В src / MyApp / MyBundle / Command / ServerCommand.php

 use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Ratchet\Server\IoServer; class ServerCommand extends ContainerAwareCommand { protected function configure() { $this ->setName('chat:server') ->setDescription('Start the Chat server'); } protected function execute(InputInterface $input, OutputInterface $output) { $chat = $this->getContainer()->get('chat'); $server = IoServer::factory($chat, 8080); $server->run(); } } 

Теперь у вас есть класс Chat с зависимыми инъекциями, и вы можете запустить сервер как консольную команду. Надеюсь это поможет!