问题标签 [laravel-broadcast]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
360 浏览

php - Laravel Websockets - 为什么我们仍然需要有效的 Pusher API 密钥

我在我的项目中使用Laravel WebSockets 。

据说 Laravel WebSockets 是推送器的替代品。

但我的问题是
为什么我们仍然需要有效的推送 API 密钥?它仅在我放置有效的推送 API 密钥时才有效。

如果没有推送 API 密钥,我不能完成它吗?

任何人都可以帮助我获得更好的知识吗?

谢谢

0 投票
0 回答
234 浏览

php - 如何使用 Laravel 广播实现高速

我正在开发 Laravel 应用程序,我需要实现广播功能。官方文档https://laravel.com/docs/7.x/broadcasting建议了 3 种方式:

  1. Pusher.com --> 回声
  2. laravel-websockets --> 回声
  3. Redis --> Socket.Io --> Echo

到目前为止,我一直尝试仅使用 Pushes.com 解决方案作为最简单的解决方案。在我的睾丸上,这个解决方案以大约 1 秒的延迟向用户浏览器发送消息。但是1秒对我来说太长了。

  • Laravel 广播解决方案的正常延迟是多少?
  • 哪种解决方案最适合使用?
  • 如何在解决方案 2 和 3 之间进行选择?
0 投票
1 回答
80 浏览

laravel - 后端不返回时如何避免控制台错误403

如果我这样设置我的频道,我会收到控制台错误 403。
注意:: if ($user->status) is not reg.

如果我这样设置我的频道,一切都会好起来的。

但是当 $user->status 不是 reg 时,我需要设置我的频道,我不想给任何回报。
问题是如果我不给任何回报,我会收到控制台错误 403。
对不起我的英语技能

0 投票
1 回答
590 浏览

laravel - 类 App\Http\Middleware\Authenticate:api 在广播中不存在

我在使用广播时遇到 auth:api 守卫问题。

Class App\Http\Middleware\Authenticate:api does not exist如果我打电话,我会收到错误消息php artisan route:list

广播服务提供者.php:

配置/auth.php:

如果我从 BroadcastingServiceProvider 中删除 Broadcast::routes 的中间件,我就不再有问题了。

auth:api也在我的路由文件中使用了同样的守卫,这似乎工作正常:

我想也许providersconfig/app.php 中数组中的导入是问题所在,但似乎不是这样。有什么想法吗?

0 投票
0 回答
47 浏览

laravel - 私人频道授权 - 一对一聊天

我有聊天室,目前是两个用户之间的一对一聊天。

这是未经授权的频道

这样它就可以工作,但我想把它改成这样,这样它就可以检查你是房间里的发送者还是接收者,否则你是不允许的。

这是用户模型中的 canJoinRoom 方法

这样,当我尝试使用用户的方法并检查其他内容时,我得到了广播/身份验证 404 Not found。

也尝试过这种方式,但我仍然得到广播/身份验证 404 Not found。

0 投票
0 回答
225 浏览

laravel - 广播频道未在 Laravel 中注册

在身份验证部分,我一直坚持在私人频道上广播。我所做的是,我在 Echo 服务器中制作了自定义 authEndpoint

控制器:

我制作了一个扩展 Illuminate\Broadcasting\Broadcasters\Broadcaster 的自定义广播类,以便我可以覆盖verifyUserCanAccessChannel方法 我的 verifyUserCanAccessChannel 方法:

在这里我已经记录了 $this->channels以从routes/channel.php获取注册的频道, 但结果是空的。这是我的广播服务提供者:

这是我的channel.php:

而且我在 config/app.php 中都取消了注释

这里可能是什么错误。请帮我解决这个问题。先感谢您。

0 投票
1 回答
208 浏览

laravel - laravel广播在私人香奈儿广播不工作我使用laravel echo

事件是:

routes/channels.php 是:

在刀片文件中:

广播频道正常工作。但在 PrivateChannel 中不起作用。并且在控制台中没有显示任何错误

我使用 laravel echo 和 pusher

0 投票
0 回答
483 浏览

laravel-echo - 带有 Pusher 和 laravel-websockets 的 Laravel 广播不发送消息

这是 Laravel 7 的设置,遵循使用laravel-websockets而不是 Pusher的 pusher 驱动程序的安装指南。

'php artisan websockets:serve' 正在运行,并已连接到浏览器中的 Echo 客户端,并且正在愉快地发送 ping / pong 消息。

但是,当我尝试通过触发事件来发送服务器消息时

我没有看到来自 websockets:serve 日志的活动,也没有在线上的消息(在 DevTools 中)。

我可以看到事件被构造,作业被排队并被执行,我可以看到正在调用的 broadcastOn() 方法。

如果我将 BROADCAST_DRIVER 切换到“日志”,我会看到那里记录的消息:

但是,如上所述,将 BROADCAST_DRIVER 设置为“推送器”不会导致进一步的活动。

队列驱动程序设置为“同步”的行为相同,因此不是队列设置。

我唯一的线索是通道身份验证功能没有被调用,但是从文档中并不清楚这是否与发送相关(比如监听身份验证)。

任何日志中都没有错误,没有异常或任何明显错误。

我还能看什么来查看消息在哪里丢失?

0 投票
0 回答
35 浏览

laravel - Laravel 广播每次击键

-嘿,我实际上正在创建一个在线考试应用程序,我想添加一个系统,让教师可以使用广播或 laravelecho实时查看学生在文本区域(或输入)中输入的内容。

- 所以我的场景是当学生打字时,如果他按下与学生有关的按钮,老师就可以看到他正在输入的内容。

我实现了所有我需要的应用程序是我可以广播每个按键的方式。

0 投票
0 回答
50 浏览

laravel - 无法接收在 Laravel 上广播的事件

我已经苦苦挣扎了一段时间,无法找到一种方法来完成这项工作。我的项目在 Laravel 8 上,我使用的是 Redis 和 laravel-echo-server(因为它似乎没有维护,我也尝试使用手工制作的 express/socket.io 服务器)

问题:当我触发事件时,Redis 和 Laravel Echo Server 收到了它,但我的网页控制台从未收到它。

“事件/发送消息”

“.env”

“欢迎.blade.php”

“laravel-echo-setup.js”

希望可以有人帮帮我

如果您需要更多代码,我在这里!