ubuntu + laravel 5.6 + redis + laravel echo + laravel-echo-server
因为我有一个带有数据库ID的动态页面,就像
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=_____
................
或者也可以在http :: // localhost / .....向所有人进行广播。 无法区分ID 15,ID 25页面?
我的/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');
}
我的channels.php(不知道如何默认编写)
Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
刀片sedmessage.blade.php上的“我的发送消息”按钮javascript
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'
});