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 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Whisper

使用 Laravel Echo、laravel-echo-server 和 socket.io 广播将不起作用

解析Swarm的未来价值,从“Whisper”通信功能看

Laravel Echo 私人频道和 Laravel echo 服务器 |雷迪斯

OpenAI 开源语音识别 Whisper

OpenAI 开源语音识别 Whisper