【发布时间】:2021-02-04 13:42:49
【问题描述】:
我将 Laravel Echo 与在线状态通道一起使用。我所有的活动都在工作..here()、.joining() 和 .leaving()
假设用户是第一个加入此在线状态频道的用户。当其他用户加入 .here() 和 .joining() 事件时,将允许填充在线用户列表,包括他们的 ID 和姓名。
如果用户在加入后更新了他们的名字怎么办。发生这种情况时,所有其他用户都不会收到更新,让他们知道在线频道中的一个用户的名称已更新。
我想实现这一点,我希望这样当一个用户对从 Broadcast::channel 返回的属性之一进行更新时,例如 name 属性,那么出席频道中的所有其他用户应该以某种方式能够知道更新已经完成并获取更新的数据
我想我可以通过耳语事件触发它,或者我可以触发各种广播事件来“通知用户”更新。但是,我认为我的“事实来源”应该是我的存在渠道,这就是我建立和维护“在线用户”列表的地方。
我希望我说得有道理.. 那么有没有办法强制 .here() 检索存在通道内所有用户的新列表并从后端检索他们更新的属性?
非常感谢
【问题讨论】:
标签: laravel laravel-echo laravel-websockets