问题标签 [laravel-echo]
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.
laravel - 使用 socket.io 和 Laravel Echo 时如何保护私有通道?
这是我的server.js
文件:
还有一个简单的事件:
客户端连接到 socket.io:
然后监听事件(它在 Blade 模板中):
问题是:身份验证未处理,任何用户都可以订阅这些频道。
以下是来自 Chrome 开发者控制台 (WebSocket) 的示例事件:
也没有/broadcast/auth
URL,但BroadcastServiceProvider
有一个调用Broadcast::routes();
,当浏览器加载时,没有调用/broadcast/auth
发生。
pusher - Laravel 5.4 广播:Pusher->Error->WebSocketError
我刚开始使用带有 Pusher 和 Echo 的广播。我的问题是我遇到了一个错误,我找不到解决方法。错误消息看起来很直截了当,但我不知道应该去哪里摆脱它。
我的 laravel 是从 Laravel 5.3 升级而来的。我取消了注释App/Providers/BroadcastServiceProvider::class into config.php
。我创建了一个活动并设置了私人频道。return new PrivateChannel('dealer.'$this->client->dealer_id);
我将新频道添加到routes/channels.php
我将此添加到 bootstrap.js
我还将所有内容添加到 .env 文件中。最后,我在 applayout.blade.php 末尾的脚本中添加了频道
当我加载页面时,这是我从控制台得到的错误:
我错过了什么/做错了什么?
laravel - Laravel mix 在加载后会破坏每个 jquery 插件
一般来说,我对 laravel mix 和 npm 完全陌生,所以我在这里完全不知所措。
我正在使用 jquery 插件,例如:https ://github.com/noraesae/perfect-scrollbar
现在,我安装了 laravel mix,因为我需要 laravel echo。得到了它的工作和运行,但从那时起jquery插件没有加载,我得到的是:
我不知道,这可能是因为 jquery 现在是异步加载的,并且 Mix 会覆盖我设置的 /div> 方式?但是,我注意到我也许可以通过 npm 安装这个插件,因为文档来自:
我做到了,它安装了,但我现在怎么可能包含它,以便 laravel mix 也加载它?在过去的 6 个小时里,我一直在寻找一种方法,但我就是不明白该怎么做。任何帮助将不胜感激!
laravel - Laravel 回显服务器客户端未收到事件
我有一个使用这个包(https://github.com/tlaverdure/laravel-echo-server)的小型 Laravel Echo 服务器设置。我有以下设置:
.
.
.
.
之后我运行:
当/notify
路线被击中时,我触发事件。
我可以看到服务器已收到事件并且它没有显示在队列中。
laravel-5 - 通过 websocket 授权 laravel 护照
我有一个私人频道。只有当我在现场进行身份验证时,我才能使用它。但如果是 laravel 护照,我不知道它应该如何工作。默认情况下,我需要的所有内容都包含在 cookie 中。我有的:
Broadcast::routes(['middleware' => ['api']]);
没有效果。
如何通过 laravel 护照对用户进行身份验证,因为它会连接到私有通道 websocket?
laravel - Laravel Echo 加入私人频道`.here()`
我加入了一个私人频道:
我想使用 .here() 状态调用来让一组用户更新当前在线的用户。
我尝试了以下方法:
但这没有用......
控制台中的错误是:
Echo.private(...).here is not a function
php - 在 Laravel 中将数据传递给广播授权回调
我是 Laravel 广播的新手,目前我使用的是 5.4。当其他人创建新帖子时,我想根据他们的兴趣更新包含相关帖子的帐户仪表板,我正在使用私人频道。我成功地在当前登录的用户仪表板中广播了另一个用户发布的每个新帖子,我需要检查新帖子是否相关,如果不相关则广播,不要。
我想我可以通过过滤授权事件来实现,在BroadcastServiceProvider
我写的里面。
我已经阅读了我们可以将数据与通道名称一起传递的文档,例如
但是这种方法也必须在 laravel Echo 中传递新的帖子 ID
我该如何解决这个问题,我想保留我的频道名称discovery.post
,我只想发送给有相关兴趣的用户,我需要 Post 实例来检查登录用户是否对这篇文章感兴趣。
在否决我之前让我知道我的问题是否不清楚。谢谢你。
node.js - 获取 https://mydomain.server:6001/socket.io/socket.io.js 网络::ERR_CONNECTION_REFUSED
我第一次尝试使用 socket.io。我正在使用 Laravel 5.4、Laravel Echo 和NodeJs 服务器通过 Socket.io 进行 Laravel Echo 广播。.
我设法让它在我的本地工作,因为它应该工作。但是在服务器上我得到一个错误
可能是浏览器无法访问该端口或其他什么?
我也尝试使用命令访问该文件
curl -X GET https://mydomain.server:6001/socket.io/socket.io.js
。
但是得到了
curl: (35) gnutls_handshake() failed: The TLS connection was non-properly terminated
。
redis - laravel 回显服务器,redis
我有远程连接的问题。
我的虚拟主机是:redis.test
我在刀片文件中添加了这个:
.env 文件
回声配置
laravel-exho-server.json
当我尝试使用本地连接(2 个浏览器 - 同一台电脑)进行广播时,它可以工作,但是当我尝试从局域网(192.168.1.50)上的其他电脑发送“消息”时出现此错误
我该如何解决这个问题?