【问题标题】:How can I set public channel without any authentication on broadcasting laravel?如何在没有任何身份验证的情况下设置公共频道广播 laravel?
【发布时间】:2017-08-26 09:25:05
【问题描述】:

我在这里读到:https://laravel.com/docs/5.4/broadcasting#concept-overview

那里解释说它可以使用公共频道。但是没有例子说明如何使用它

我只看到了这样一个私人频道的例子:

public function broadcastOn()
{
    return new PrivateChannel('user.'.$this->user->id);
}

我需要一个公共频道的真实例子

我已经尝试过搜索,但我还没有找到它

有人可以帮忙吗?

【问题讨论】:

    标签: laravel notifications laravel-5.3 real-time broadcasting


    【解决方案1】:

    如果您的活动中没有使用 Channel 类,请添加以下行:

    use Illuminate\Broadcasting\Channel;
    

    你必须返回一个Channel:

    public function broadcastOn()
    {
        return new Channel('myPublicChannelName');
    }
    

    可以在此处找到示例:https://petericebear.github.io/starting-laravel-echo-20170303/

    【讨论】:

    • 我说没有任何认证。意味着不应该有这个:$this->user->id。您的代码仍在使用它
    • 更新了代码,所以现在它与身份验证无关。当您拥有私人频道时,您还必须获得授权才能加入。
    • 好的。但我仍然对你的代码感到困惑。这个:myPublicChannelName。用在什么地方?
    • 您可以与您的客户一起收听此频道上的新事件。因为您可能有多个频道,但只想收听其中一个。
    • 好的。是否在客户端这样? Echo.channel('myPublicChannelName') .listen('...', (e) => { console.log(e.order.name); });.
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2017-12-23
    • 2019-11-14
    • 2014-11-09
    • 2018-09-10
    • 1970-01-01
    • 2019-10-16
    • 2022-11-30
    相关资源
    最近更新 更多