Kir*_*iva 3 php pusher laravel-echo laravel-5.4
尝试广播事件时出现未知 auth_key 错误。我尝试像其他帖子中提到的那样更改我的集群,但没有工作。我在 app.php 中有未注释的广播服务提供者。
.env
PUSHER_APP_ID=******
PUSHER_APP_KEY=******
PUSHER_APP_SECRET=******
Run Code Online (Sandbox Code Playgroud)
配置/广播
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
],
],
Run Code Online (Sandbox Code Playgroud)
\app\Events\MessagePosted.php
public function broadcastOn() {
return new PresenceChannel('chatroom');
}
Run Code Online (Sandbox Code Playgroud)
\resources\assets\js\bootstrap.js
window.axios = require('axios');
window.axios.defaults.headers.common = {
'X-Requested-With': 'XMLHttpRequest'
};
import Echo from "laravel-echo"
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: '*****',
cluster: 'ap2',
encrypted: true
});
Run Code Online (Sandbox Code Playgroud)
\resources\assets\js\app.js
const app = new Vue({
el: '#app',
data: {
messages: [],
usersInRoom: []
},
methods: {
addMessage(message) {
// Add to existing messages
this.messages.push(message);
// Persist to the database etc
axios.post('/messages', message).then(response => {
// Do whatever;
})
}
},
created() {
axios.get('/messages').then(response => {
this.messages = response.data;
});
Echo.join('chatroom')
.here((users) => {
this.usersInRoom = users;
})
.joining((user) => {
this.usersInRoom.push(user);
})
.leaving((user) => {
this.usersInRoom = this.usersInRoom.filter(u => u != user)
})
.listen('MessagePosted', (e) => {
this.messages.push({
message: e.message.message,
user: e.user
});
});
}
});
Run Code Online (Sandbox Code Playgroud)
在配置/广播中添加 'cluster' => 'us2', 'encrypted' => true in 'options'
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => 'us2',
'encrypted' => true
],
],
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4212 次 |
| 最近记录: |