Функция onPush() не срабатывает после нажатия на контроллер с помощью ZeroMQ в пакете Guinness of Symfony/Websocket в symfony2

config.yml

gos_web_socket:
    topics:
      - @app.real_time.subscribe
      - @app.real_time.push
    server:
        port: 8000        #The port the socket server will listen on
        host: localhost   #The host ip to bind to
        router:
            resources:
                - @AppBundle/Resources/config/pubsub/routing.yml
    client:
        firewall: main #can be an array of firewalls
        session_handler: @session.handler.pdo
    pushers:
        zmq:
            default: true
            host: 127.0.0.1
            port: 8888
            persistent: true
            protocol: tcp

PubSub / routing.yml

real_time_push:
    channel: all/user
    handler:
        callback: 'app.real_time.push' #related to the getName() of your topic

services.yml

app.real_time.subscribe:
        class: AppBundle\RealTime\Subscribe
        arguments: [ @gos_web_socket.websocket.client_manipulator ]
app.real_time.push:
        class: AppBundle\RealTime\Push
        arguments: [ @gos_web_socket.websocket.client_manipulator ]

Следующая функция получает удар, когда клиент подписывается на эту тему. Я вижу текст в консоли.

Класс подписки onSubscribe(): Subscribe.php

public function onSubscribe(ConnectionInterface $connection, Topic $topic, WampRequest $request)
    {
        var_dump("This user is subscribed");
    }

Но когда он выталкивается через контроллер через zmq, функция onPush() никогда не срабатывает. Я уже реализовал TopicInterdace и PushableTopicInterface в Push.php.

Push-класс onPush(): Push.php

public function onPush(Topic $topic, WampRequest $request, $data, $provider)
    {
        var_dump("Helloooooooooooooooooo0000000000");   
    }

Пожалуйста, кто-нибудь может сказать мне, где я сделал не так. Заранее спасибо. Вот контроллер

$pusher = $this->container->get('gos_web_socket.zmq.pusher');
//push(data, route_name, route_arguments)
$pusher->push(['my_data' => 'data'], 'real_time_push', ['username' => 'sujit']);

0 ответов

Другие вопросы по тегам