问题标签 [laravel-websockets]

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 回答
108 浏览

php - 没有广播事件的 Laravel 套接字实时聊天

我使用 Laravel websockets 和 Echo 来创建一个简单的实时聊天。但是有一点我不明白。

我有 2 台服务器:

  1. 带有 Laravel Echo(聊天前端)的 Laravel 应用程序
  2. 安装了 Laravel websocket 的 Laravel 服务器。

当用户发送消息时,一个 post 请求将发送到服务器 1。服务器 1 将发送发送消息事件到套接字服务器(服务器 2):

同时聊天正在监听套接字服务器:

这一切都很好,根据我阅读的文档,这是要走的路。我遇到的问题是,我觉得发送消息的发布请求完全没有必要。我不会将消息存储在数据库或任何东西中。所以 post 请求唯一要做的就是将消息发送到服务器,然后服务器将消息发送到下一个服务器。因此,对于发送的每条消息,这是一个不必要的发布请求。

在文档中,他们提到了一些关于 Laravel echo Whisper 的内容,他们用它来发送“有人正在打字”的更新:

并收听消息:

用它来发送消息会很聪明吗?还是有其他方法可以绕过发布请求?

0 投票
0 回答
434 浏览

php - 无法在 AWS Elastic Beanstalk 中部署 Laravel Websocket

我有一个部署在 AWS 弹性 beantalk 上的小型 Laravel 应用程序。我的前端通过 BeyondCode 库使用 Laravel WebSocket 与我的后端连接。

我已经在 localhost 中测试了所有内容,一切正常,但不适用于 Elastic Beanstalk 部署。

我的本地和服务器都在使用APP_MODE=localAPP_DEBUG=True因此我可以使用Laravel WebSocket Admin.

这是我的配置config/broadcasting.php

config/websocket.php

我正在使用command: 'nohup php artisan websocket:serve > websocket.out 2> websocket.err < /dev/null &'服务器 websocket。

从负载均衡器配置中,我添加了一个名为的新进程WebSocket,它正在使用端口6001,并且我在端口添加了一个侦听器6001

现在,当我访问该admin/websocket页面并单击它时,connect它会给我一个控制台错误

我试图从库文档中找到解决方案,但他们没有太多的部署,更不用说 Elastic Beanstalk。

我不确定我错过了什么并把头发拉下来。非常感谢任何帮助。

注意:我不知道在哪里检查 websocket.out 或 websocket.err 文件。:\

0 投票
1 回答
88 浏览

laravel - Laravel 事件()在生产中不起作用

我试图通过 forge 和 digitalocean 部署我的 laravel 项目。虽然它在我的本地开发环境中运行良好,但我很难让 laravel-websockets 包运行。

因此,虽然我的“CruiseCrontroller”在本地运行良好,但不知何故在生产中给了我以下错误。

这是 CruiseController 中提到的行:

我现在用谷歌搜索并搜索了 2 小时的 stackoverflow,希望这里有人能指出我正确的方向。谢谢

0 投票
2 回答
1438 浏览

laravel - Laravel Echo + Websockets + 私人频道

我知道我不是第一个为此苦苦挣扎的人。但是经过几天并解决了很多相关问题后,我不知何故觉得我的案子值得提出自己的问题:)。

我有一个使用 Laravel Websockets ( https://beyondco.de/docs/laravel-websockets/getting-started/introduction ) 和 Laravel Echo 的公共频道的工作 websocket 解决方案。我的客户端应用程序是一个 vue-cli 应用程序,它连接到服务器 + 公共频道上的广播消息效果很好。授权由 Laravel Passport 处理。因此,通过在 Authorization 标头中发送 Bearer 令牌,后端应用程序知道用户是否已通过身份验证。

但是,我正在努力让私人频道正常工作。尝试进行身份验证总是给我这个错误:

我知道当我遇到服务器问题时会出现这个 CORS 错误,所以我尝试在 Insomnia 中调试请求。但是,当模仿 Insomnia 中的请求时,它会给出响应 200 以及预期的结果:

在 Insomnia 中模拟身份验证请求

我一直在阅读一些指南和 stackoverflow 问题,但找不到类似的东西。回到它可能是一个 CORS 问题,但我认为情况并非如此。我的 OPTIONS 请求返回就好了。

为了完整起见,我还添加了一些可能有助于调试的代码。

我的广播服务提供者

我的频道.php

客户端

0 投票
0 回答
289 浏览

laravel - 我使用 laravel-websockets 和错误无法读取未定义的属性 'socketId'

我不使用socket.io,但它给了我这样的错误

app.js:18695 未捕获类型错误:Cannot read property 'socketId' of undefined

详细写了,我更新了,之前遇到过SSL问题,所以无法以https方式连接,处理的时候就出现了这个问题。

我这个使用 laravel-websockets、pusher、laravel echo

聊天刀片.php


广播.php

websockets.php

0 投票
0 回答
267 浏览

laravel - 如何在 Laravel 中连接第三方套接字流

我正在使用 spatie 和 Beyondcode 的 laravel-websockets。我已经成功安装它并且能够通过转到 /laravel-websockets 运行到这条路线

在此处输入图像描述

我的问题是如何像 python 那样连接到第三方蒸汽。在 Laravel 中似乎非常复杂,涉及 Echo(不太明白这是干什么用的)、Broadcasting 和 Pusher。

在python中,这就是我所做的

如何在 Laravel 中实现类似的功能?在他们的文档中找不到任何提及如何执行此类操作的内容。

0 投票
0 回答
257 浏览

laravel - Ratched Websocket 连接关闭

我在 laravel 上使用 cboden/ratchet 的 websocket 包。这是地球上最令人沮丧的事情。

我什至怎么把它连接起来?

它一直向我显示此错误:在收到握手响应之前连接已关闭

在此处输入图像描述

// 这是我启动服务器的测试命令

然后这是我的客户端

//连接逻辑

我试过改变端口,没有运气

谢谢你。

0 投票
1 回答
599 浏览

php - Laravel Websockets Error in connection Error during WebSocket handshake: Unexpected response code: 404

我试图使用这个库在 localhost 上设置 laravel websockets

我收到了这个错误 在此处输入图像描述

我已经安装了软件包并在我的本地主机上启动了服务php artisan websockets:serve

我的 Bootstrap.js 是:

0 投票
1 回答
452 浏览

php - Laravel Websocket 向特定的 Android 设备发送消息

我正在使用 websockets 开发 laravel 应用程序。我已经从库中配置了 websocket

构建像 uber 或 ola 这样的实时应用程序。

客户正在创建具有起点和终点位置的旅行。

在后端选择最近的司机位置,需要向最近的司机广播行程

创建新行程时广播事件。

事件服务提供者

NewTripHasCreatedEvent

SendTripCreationNotificationToTheDriverListener

0 投票
1 回答
670 浏览

laravel - Laravel (Echo, Sanctum, websockets) + Pusher + Nuxtjs SPA

我正在尝试将事件发送到私人频道,但我无法接收它们。否则它适用于公共频道。

这是我的代码:

插件:Echo.js

Laravel 广播.php:

Api 路线:

客户端 :

我注意到推送者订阅了频道没有错误,但控制台中的结果是这样的: