Laravel Echo 和 Whisper,listenForWhisper 不起作用
Posted
技术标签:
【中文标题】Laravel Echo 和 Whisper,listenForWhisper 不起作用【英文标题】:Laravel Echo and Whisper, listenForWhisper not work 【发布时间】:2019-05-24 01:29:35 【问题描述】:我正在运行 Echo 服务器和 Beyondcode (Pusher)。状态通道工作得很好,我为它构建的消息传递工作。现在我正在尝试让耳语也适用于打字状态,但没有运气。
发送耳语:
let channel = Echo.join('chat')
setTimeout( () =>
channel.whisper('typing',
user: Laravel.user.id,
typing: true
)
, 300)
听耳语:
Echo.join('chat')
.listenForWhisper('typing', (e) =>
console.log(e)
);
在我的回显服务器日志中,当我输入消息时:
testapp: connection id 332742863.966987392 received message:
"event":"client-typing",
"data":
"user":2,
"typing":true
,
"channel":"presence-chat"
广播频道(routes/channels.php)
Broadcast::channel('chat', function ($user)
return [
'id' => $user->id,
'name' => $user->name
];
);
连接 ID 332742863.966987392 是第二个用户(不是我输入消息的那个用户)。
但是浏览器控制台中什么也没有出现。
【问题讨论】:
【参考方案1】:这里留给未来可能在接收事件时遇到问题的用户
.listenForWhisper(..)
如果您使用的是 laravel-websockets,请确保启用 'enable_client_messages'
【讨论】:
【参考方案2】:我知道这很旧,但我的问题是我没有从推送应用设置中启用名为“启用客户端事件”的选项。
【讨论】:
难以辨认!终于!以上是关于Laravel Echo 和 Whisper,listenForWhisper 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 Laravel Echo、laravel-echo-server 和 socket.io 广播将不起作用