问题标签 [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 投票
1 回答
700 浏览

c# - 如何从 c# 桌面应用程序连接到 Laravel 广播?

我有 laravel 聊天应用程序通过 laravel-echo-server 上的 laravel 广播工作。在前端,我使用 laravel-echo npm 包订阅频道并收听事件,但是如何订阅用 c# 编写的桌面应用程序中的频道?

我希望在 c# 上写下这样的内容:

0 投票
4 回答
6524 浏览

javascript - 如何使用 Laravel WebSockets 通过 Laravel 中的 WebSocket 将消息从客户端发送回服务器?

WebSocket 允许双向通信:服务器可以向浏览器发送消息,而浏览器(客户端)可以通过相同的连接进行响应。

我正在使用以下方法在 Laravel 6 中实现聊天应用程序:

我已经得到它的工作,服务器触发事件​​和客户端监听这些事件如下。

  1. 安装 Laravel WebSockets 包。

composer require beyondcode/laravel-websockets

  1. 配置config/broadcasting.php.
  1. 配置config/websockets.php
  1. 安装Pusher服务器。

composer require pusher/pusher-php-server "~3.0"

  1. 设置广播驱动程序以pusher.env文件中使用。

BROADCAST_DRIVER=pusher

  1. 在我的客户端使用laravel-echo和。pusher-js
  1. 启动 WebSockets 服务器。

php artisan websockets:serve

  1. 在服务器端,使用实现类的事件类触发事件ShouldBroadcastNow

event(new MyEventClass((object)$message));

一切正常。在第 8 步中,我从服务器端触发事件。

请注意,我没有使用官方的 Pusher 服务器,我只是使用 Pusher API 实现,pusher-js但指向Laravel Echo JavaScript package本地Laravel WebSockets server,在步骤 6 中配置。

请不要Laravel Echo JavaScript packagelaravel-echo-serverof混淆Socket.IO Server。我没有使用Socket.IO Server.

现在,我不想像第 8 步那样在服务器端触发事件,而是想从客户端触发事件,因为 WebSocket 允许双向通信。我怎么能用 , 做到LaravelLaravel Echo JavaScript Package一点Laravel WebSockets PHP package

0 投票
2 回答
5068 浏览

php - Laravel Echo 不监听事件

我已经使用 laravel-echo成功配置了 laravel-websockets 。我已经能够使用命令启动服务器php artisan websocket:serve。我的应用程序能够从浏览器连接和验证,但是广播事件没有记录在我的控制台中。每当我从服务器发送事件时,我的浏览器都不会收到它。

这是我的活动:

这是我的广播服务提供商:

我的广播配置文件:

我的 websockets 配置文件:

我初始化 laravel echo 的 bootstrap.js 文件:

我在其中收听频道和事件的 app.js 文件:

我的路线/频道文件:

这就是我知道我的浏览器能够连接到 websocket 服务器的方式: 在此处输入图像描述

但是,当我尝试从这里发送事件时,我的浏览器中没有记录响应,我的浏览器甚至没有收到该事件:

我的浏览器控制台中没有记录任何错误,没有任何反应,但是在我的终端中,我可以看到该事件是从服务器发送的,但它没有显示客户端收到它的迹象。

浏览器收到的唯一东西是

websockets12345:连接 id 722400884.831426830 收到消息:{"event":"pusher:ping","data":{}}。连接 id 722400884.831426830 发送消息 {"event":"pusher:pong"} Blockquote

0 投票
1 回答
259 浏览

laravel - 使用 monit centos 跟踪 laravel websocket

我试图用 monit 而不是 supervisord 监视 laravel-websocket,因为它提供了更多选项所以在我的 /home/rabter/laravelwebsocket.sh 中:

在 etc/monit.d 我用代码创建了一个名为 cwp.laravelwebsocket 的文件

不幸的是,随着我运行 monit,一切都开始受到监控,但 laravel websocket,它不会启动一次,并且在前面的 monit table 中我看到了 Process - laravelwebsocket Execution failed | Does not exist 如何使 monit monitor 并在启动时启动 laravel-websocket 失败或错误或崩溃?

我研究了用 Monit 监控 Laravel 队列工作人员, 但没有运气!

0 投票
2 回答
3467 浏览

laravel - Laravel Echo 与 Pusher 和 Vue

我使用 Laravel 作为服务器部分,使用 Vue Cli 作为客户端。我也使用https://docs.beyondco.de/laravel-websockets/ 但是当我尝试将 vue 客户端连接到 laravel websockets 时,控制台日志中出现错误。

这是我在 Vue Cli index.js Echo 选项中的代码

广播服务提供者.php

频道.php

如果删除wsHost然后wsPort没有错误,但没有任何反应,则服务器没有响应。

0 投票
0 回答
417 浏览

php - 当 APP_DEBUG=false 在 .evn 文件中时,Laravel WebSockets 自定义处理程序类不起作用

在我的 Laravel 项目中,我在这篇文章之后实现了 Laravel WebSockets:https ://freek.dev/1228-introducing-laravel-websockets-an-easy-to-use-websocket-server-implemented-in-php

我已经实现MyCustomWebSocketHandler了类,并且APP_DEBUG=true.env文件中一切正常。

但是当 时APP_DEBUG=false,类中的所有实现MyCustomWebSocketHandler都没有被执行。它使用默认BeyondCode\LaravelWebSockets\WebSockets\WebSocketHandler类。

在谷歌上搜索解决方案后,我发现了这个:https ://github.com/beyondcode/laravel-websockets/issues/296

但 的评论matheusb-comp是不正确的。它仍然不起作用,甚至class MyCustomWebSocketHandler implements MessageComponentInterface { }

如何APP_DEBUG=false.env文件中修复它,Laravel WebSockets 仍然适用于MyCustomWebSocketHandler类中的实现?

0 投票
12 回答
33156 浏览

laravel - 找不到可发布的资源

我曾尝试使用

但我得到

我不知道问题的原因是什么。任何可以帮助我的人。

安装输出

0 投票
1 回答
318 浏览

laravel - WSS 使用 Apache PHP 和 Laravel 在 Elastic Beanstalk 上保护 Websocket

在 AWS 弹性 beantalk 上的 laravel 中获取安全 websocket 时遇到问题。

它们通过 http 和 ws 在开发和生产中运行良好。

在开发中,它在 https 和 wss 上运行良好。

在生产中(所有相同的设置,只是不同的证书)通过 https 和 wss 我收到以下错误

失败:连接建立错误:net::ERR_CONNECTION_CLOSED

假设证书或密钥有问题,我尝试更改为不正确的证书和密钥。然后错误变为以下。

失败:连接建立错误:net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH

所以我假设证书不是问题。

配置如下:websockets.php

.env 文件

0 投票
1 回答
1402 浏览

laravel - 当我从我的 JS 客户端发送消息时,Laravel websocket 出现错误

我在我的 Laravel 应用程序 6.2 版中构建 websocket 服务,并使用 laravel-websockets 包版本 1.3 ( https://github.com/beyondcode/laravel-websockets )。

所以,它工作正常,但我自定义我的 websocket 以根据文档重新定义 onOpen、onClose、onError 和 onMessage 方法。在此之后,我用客户端测试所有这些方法,它们仍然可以正常工作(onOpen,onClose,onError),除了 onMessage 方法,最后执行以下异常:

我不知道发生了什么,但这是我自定义的 websocket 类来捕获客户端事件:

0 投票
1 回答
2289 浏览

laravel - Laravel websockets + Laravel Echo 不听我的事件

我正在使用https://docs.beyondco.de/laravel-websockets/来处理 websockets。但它看起来像在控制台中(运行 php artisan websocket:serve 后,我在日志中看到我的 api 消息)和仪表板(http://localhost:8080/laravel-websockets)它显示我的 api 消息,但在我的应用程序中laravel echo 不会监听我的事件,也不会在浏览器控制台中显示任何内容。

在此处输入图像描述 这是我的设置:

配置/广播.php

.env

应用程序/订单/事件/TestEvent.php

资源/js/bootstrap.js

我的观点:

也许它与我的 docker 设置交互,所以我也将我的 docker 设置放在这里:

码头工人-compose.yml

码头工人/容器/php74-fpm/Dockerfile

码头工人/conf/site.conf