Selamlar,
Laravel broadcasting ile denemeler yapıyorum.
Laravel'de predis paketini indirdim.
BROADCAST_DRIVER=redis olarak ayarladım.
redis prefix'i fimen_database olarak ayarladım.
Event içeriğim:
public function broadcastWith()
{
return [
'id' => 'dedee',
'deneme' => 'sasada das',
];
}
public function broadcastOn()
{
return new Channel('user_notifications.29');
}
public function broadcastAs()
{
return 'listen-deneme';
}
Channel Route:
Broadcast::channel(
'user_notifications.29',
function () {
return true;
}
);
Front-end tarafından vue.js kullanıyorum.
socket-io ve laravel-echo npm ile import ettim.
laravel-echo-server.json dosyam:
{
"authHost": "http://127.0.0.1",
"authEndpoint": "/broadcasting/auth",
"clients": [
{
"appId": "f8b21e3cc86188a0",
"key": "1855de881878b76d959f52b97e259c58"
}
],
"database": "redis",
"databaseConfig": {
"redis": {
"port": 6379,
"host": "127.0.0.1"
},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
"host": "127.0.0.1",
"port": "6001",
"protocol": "http",
"socketio": {},
"secureOptions": 67108864,
"sslCertPath": "",
"sslKeyPath": "",
"sslCertChainPath": "",
"sslPassphrase": "",
"subscribers": {
"http": true,
"redis": true
},
"apiOriginAllow": {
"allowCors": false,
"allowOrigin": "",
"allowMethods": "",
"allowHeaders": ""
}
}
Vue.js larave-echo kullandığım alan:
window.Echo = new Echo({
broadcaster: 'socket.io',
host: 'http://127.0.0.1:6001'
});
window.Echo.channel('fimen_database_user_notifications.29')
.listen('.listen-deneme', (notification) => {
alert();
console.log(notification);
});
Redis prefix'i deneme amaçlı olduğu için laravel-echo-server içinde tanımlamayıp, deneme amaçlı yaptığım için bu şekilde channel içinde kullandım.
Laravel'de event'ı fırlatıyorum. Normal şekilde çalışıyor ve broadcasting olayıda gerçekleşiyor. Console ekranında örnek çıkan veriler:
Channel: fimen_database_user_notifications.29
Event: listen-deneme
Ama bu kanalı ve event'ı laravel-echo ile yakalayamıyorum. Her şey hatasız gerçekleşiyor. Laravel-echo'da herhangi bir error vermeden kanalı dinliyor. Ama gelen veriyi yakalayamıyorum. Kaçırdığım yer neresi olabilir ?