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'
});