【发布时间】:2022-10-24 06:22:10
【问题描述】:
我正在开发一个实时聊天应用程序,但在使用 laravel-websockets 包处理广播事件时遇到了一些问题。昨天一切正常,我正在从私人和公共渠道接收消息,但我不知道为什么我不再收到消息了。
我已经正确配置了我的环境变量,并使用pusher 驱动程序进行广播,使用redis 连接进行队列处理。我还正确配置了我的 WebSockets 服务器,我对此很确定,因为当我错误配置我的 WebSockets 服务器时,Laravel 抛出了 curl 异常。我正在将事件广播到私人频道并实现ShouldBroadcastNow 接口以使用sync 连接广播消息而无需排队,我也成功通过了私人频道的身份验证。我什至尝试使用ShouldBroadcast 接口对广播进行排队并运行artisan queue:work 命令,队列显示作业已处理。
使用上述所有设置,我尝试在私人和公共频道上广播事件,但 WebSocket 服务器没有发送事件,并且 WebSocket 服务器中没有关于使用sync 连接发送的事件的日志以及那些由队列处理的。 WebSocket 服务器日志显示新的套接字连接和通道授权成功日志,但没有任何事件广播的迹象(即使对于公共通道)。
我对此感到非常困惑,因为昨天它工作正常,今天当我重新启动我的电脑时它不再工作了。请帮助我,任何帮助将不胜感激!
【问题讨论】: