问题标签 [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.
php - 没有广播事件的 Laravel 套接字实时聊天
我使用 Laravel websockets 和 Echo 来创建一个简单的实时聊天。但是有一点我不明白。
我有 2 台服务器:
- 带有 Laravel Echo(聊天前端)的 Laravel 应用程序
- 安装了 Laravel websocket 的 Laravel 服务器。
当用户发送消息时,一个 post 请求将发送到服务器 1。服务器 1 将发送发送消息事件到套接字服务器(服务器 2):
同时聊天正在监听套接字服务器:
这一切都很好,根据我阅读的文档,这是要走的路。我遇到的问题是,我觉得发送消息的发布请求完全没有必要。我不会将消息存储在数据库或任何东西中。所以 post 请求唯一要做的就是将消息发送到服务器,然后服务器将消息发送到下一个服务器。因此,对于发送的每条消息,这是一个不必要的发布请求。
在文档中,他们提到了一些关于 Laravel echo Whisper 的内容,他们用它来发送“有人正在打字”的更新:
并收听消息:
用它来发送消息会很聪明吗?还是有其他方法可以绕过发布请求?
php - 无法在 AWS Elastic Beanstalk 中部署 Laravel Websocket
我有一个部署在 AWS 弹性 beantalk 上的小型 Laravel 应用程序。我的前端通过 BeyondCode 库使用 Laravel WebSocket 与我的后端连接。
我已经在 localhost 中测试了所有内容,一切正常,但不适用于 Elastic Beanstalk 部署。
我的本地和服务器都在使用APP_MODE=local
,APP_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 文件。:\
laravel - Laravel 事件()在生产中不起作用
我试图通过 forge 和 digitalocean 部署我的 laravel 项目。虽然它在我的本地开发环境中运行良好,但我很难让 laravel-websockets 包运行。
因此,虽然我的“CruiseCrontroller”在本地运行良好,但不知何故在生产中给了我以下错误。
这是 CruiseController 中提到的行:
我现在用谷歌搜索并搜索了 2 小时的 stackoverflow,希望这里有人能指出我正确的方向。谢谢
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 以及预期的结果:
我一直在阅读一些指南和 stackoverflow 问题,但找不到类似的东西。回到它可能是一个 CORS 问题,但我认为情况并非如此。我的 OPTIONS 请求返回就好了。
为了完整起见,我还添加了一些可能有助于调试的代码。
我的广播服务提供者
我的频道.php
客户端
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
php - Laravel Websockets Error in connection Error during WebSocket handshake: Unexpected response code: 404
我试图使用这个库在 localhost 上设置 laravel websockets
我已经安装了软件包并在我的本地主机上启动了服务php artisan websockets:serve
我的 Bootstrap.js 是:
php - Laravel Websocket 向特定的 Android 设备发送消息
我正在使用 websockets 开发 laravel 应用程序。我已经从库中配置了 websocket
构建像 uber 或 ola 这样的实时应用程序。
客户正在创建具有起点和终点位置的旅行。
在后端选择最近的司机位置,需要向最近的司机广播行程
创建新行程时广播事件。
事件服务提供者
NewTripHasCreatedEvent
SendTripCreationNotificationToTheDriverListener
laravel - Laravel (Echo, Sanctum, websockets) + Pusher + Nuxtjs SPA
我正在尝试将事件发送到私人频道,但我无法接收它们。否则它适用于公共频道。
这是我的代码:
插件:Echo.js
Laravel 广播.php:
Api 路线:
客户端 :
我注意到推送者订阅了频道没有错误,但控制台中的结果是这样的: