Может ли трансляция с Laravel Echo с тремя и более событиями на одной странице? - PullRequest
0 голосов
/ 25 сентября 2018

ubuntu + laravel 5.6 + redis + laravel echo + laravel-echo-server

Поскольку у меня есть динамическая страница с идентификатором БД, как

id=15,25,.....
http:://localhost/broadcast/15
http:://localhost/broadcasr/25
..............................

И я хочу иметь двадинамическое событие redis на той же странице.

точно так же, как

redis message1=_____
redis message2=_____
...............

Могу ли я просто транслировать людям, которые открывают тот же веб-сайт?

http:://localhost/broadcast/15
   redis message1=_____(which in DB is id=15,mes1,mes2 column)
   redis message2=_____
   ...................
http:://localhost/broadcasr/25
   redis message1=_____(which in DB is id=25,mes1,mes2 column)
   redis message2=_____
   ................

Илипросто может boadcast всем на http: // localhost / ..... не может различить id 15, id 25 страницы?

My /app/Events/Message.php

public $mes1;
public $mes2;
public function __construct($mes1,$mes2)
{
    $this->mes1 = $mes1;
    $this->mes2 = $mes2;
}
public function broadcastOn()
{
    // return new PrivateChannel('channel-name');
    return new Channel('everyone');
}

Мои каналы.php (не знаю, как писать по умолчанию)

Broadcast::channel('App.User.{id}', function ($user, $id) {
    return (int) $user->id === (int) $id;
});

JavaScript-сообщение кнопки «Отправить» на блейде sedmessage.blade.php

    Echo.channel('everyone')
        .listen('Sendmessage', function (e) {
             if(e.mes1){
                $(".mes1").val(e.mes1);
             }
             if(e.mes2){
                $(".mes2").val(e.mes2);
             }
        });

Мои активы /js / bootstrap.js

import Echo from 'laravel-echo'
window.io = require('socket.io-client');

window.Echo = new Echo({
    broadcaster: 'socket.io',
    host: window.location.hostname + ':6001'
});
...