Closed YaRomaniuk closed 9 years ago
@vegro для создания коннекта виджет берет информацию из настроек компонента 'Pusher'
Если есть возможность не могли бы вы показать пример.
настройка компонента:
'pusher' => [
'class' => 'dizews\pushStream\Pusher',
'serverOptions' => [
'useSsl' => false,
'host' => '127.0.0.1',
'port' => 8080,
'path' => '/pub'
],
'listenServerOptions' => [
'path' => '/ev',
'modes' => 'eventsource'
]
],
Спасибо, большое. Но я видимо не правильно задаю вопросы. Эти настройки у меня выставлены в соответствии с настройками nginx. Есть две страницы А и Б как мне организовать передачу сообщений?
Про параметры я спрашивал т.к. предполагал что то типа для отправки : <?= \dizews\pushStream\PushStreamWidget::widget([ 'pusher'=>[ channel=>'ch1', message=>'сообщение', ], ]); ?>
и для получения: <?= \dizews\pushStream\PushStreamWidget::widget([ 'listen'=>[ channel=>'ch1', ], ]); ?>
Виджет предназначен только для прослушивания. для того чтобы пушить данные необходимо написать собственный action который будет отправлять данные слушателю:
Yii::$app->pusher->publish('ch1', 'order.close', $data);
данный пример отправляет событие 'order.close' и данные в канал 'ch1'. На стороне клиента необходимо написать на javascript-е обработчик события, что необходимо с этими данными сделать.
Спасибо большое, теперь будет проще разобраться.
если вопросов больше нет. закройте таск.
Доброго времени суток. Я только начинаю разбираться в программировании подскажите пожалуйста как использовать данный модуль. В nginx.conf у меня location /pub { push_stream_publisher admin; push_stream_channels_path $arg_id; } location ~ /sub/(.*) { push_stream_subscriber long-polling; push_stream_channels_path $1; push_stream_last_received_message_time $arg_time; push_stream_last_received_message_tag $arg_tag; push_stream_message_template "{\"id\":~id~,\"channel\":\"~channel~\",\"text\":\"~text~\", \"time\":\"~time~\", \"tag\":\"~tag~\"}"; push_stream_longpolling_connection_ttl 30s; } Какие параметры для отправки и получения нужно нужно передавать в виджет ? И какой параметр будет отвечать за повторное подключение по истечению 30 секунд ?