我正在开发一个实时聊天应用程序,但在使用laravel-websockets包处理广播事件时会遇到一些问题。昨天一切都很顺利,我收到了来自私人和公共渠道的信息,但我不知道为什么我不再收到信息了。
我正确地配置了我的环境变量,并使用pusher驱动程序进行广播,使用redis连接进行队列处理。我也正确地配置了我的WebSockets服务器,我确信这是因为当我错误配置我的WebSockets服务器时,Laravel抛出了一个curl异常。我将事件广播到私有信道,并实现了ShouldBroadcastNow接口来使用sync连接来广播消息,而不对其排队,我也成功地通过了私有通道进行身份验证。我甚至尝试使用ShouldBroadcast接口对广播进行排队,并运行artisan queue:work命令,队列显示作业被处理。
使用上述设置,我尝试在私有和公共频道广播事件,但是事件不是由WebSocket服务器发送的,而且WebSocket服务器中没有关于使用sync连接发送的事件和由队列处理的事件的日志。WebSocket服务器日志显示新的套接字连接和信道授权成功日志,但是没有任何事件广播的迹象(甚至对于公共频道)。
我对此感到非常困惑,因为昨天它运行良好,而今天我重新启动我的PC时,它不再工作了。请帮助我,任何帮助都将不胜感激!
发布于 2022-10-21 04:56:07
我更新了我的作曲家,也有同样的问题。回到我以前的版本,它又开始工作了。
问题似乎在于"pusher/pusher-php-server": "7.2.0"。
在"pusher/pusher-php-server": "7.0.2"文件中将版本设置为composer.json解决了这个问题。
将"pusher/pusher-php-server": "^7.0"更改为"pusher/pusher-php-server": "7.0.2"。
https://stackoverflow.com/questions/74086293
复制相似问题