【问题标题】:Laravel-Websocket closed before connection is establishedLaravel-Websocket 在连接建立之前关闭
【发布时间】:2020-10-21 19:19:44
【问题描述】:

我正在开发一个 laravel 应用程序,其中将使用 laravel-WebSockets 包提取实时数据。我看到人们在生产方面遇到问题,但这是在开发方面。我正在使用主机入口访问网络应用程序

所有初始步骤完成(下载 laravel-WebSocket 包、pusher-js、php-pusher-server)

并执行php artisan websockets:serve。当我刷新浏览器时,控制台出现错误 app.js:40145 WebSocket connection to 'wss://erweb.in.linuxense.com:6001/app/erkey?protocol=7&client=js&version=6.0.3&flash=false' failed: WebSocket is closed before the connection is established. app.js:42637 WebSocket connection to 'wss://erweb.in.linuxense.com:6001/app/erkey?protocol=7&client=js&version=6.0.3&flash=false' failed: WebSocket opening handshake timed out

检查的内容

  1. 端口 6001 已打开并正在侦听。使用 netstat -tulpn 验证

  2. 回声配置 - window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, forceTLS: true, wsHost: window.location.hostname, encrypted: false, wsPort: 6001, wssPort: 6001, disableStats: true, enabledTransports: ['ws', 'wss'] });

  3. 在广播.php `

    '推动者' => [ '司机' => '推动者', 'key' => env('PUSHER_APP_KEY'), '秘密' => 环境('PUSHER_APP_SECRET'), 'app_id' => 环境('PUSHER_APP_ID'), '选项' => [ '集群' => 环境('PUSHER_APP_CLUSTER'), 'useTLS' => 真, '主机' => '127.0.0.1', '端口' => 6001, '方案' => 'http', '加密' => 假, ], ],

` 4. websocket配置文件的SSL部分没有改变

【问题讨论】:

  • 你找到解决办法了吗?
  • 是的,我让它工作了。首先也是最重要的事情是将您的推送器从 6.* 降级到 4.*。这有一些问题。这是资源/js/bootstrap.js window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, wsHost: window.location.hostname, wsPort: 6002, wssPort: 6002, disableStats: true, enabledTransports: ['ws', 'wss'], });每当您使用 bootstrap.js 文件进行更改时,请确保运行 npm run dev / npm run production 。还在 config/websockets.php 中的 ssl 数组中添加 verify_peer=>false
  • @BilalArshad 查看评论,告诉我是否有帮助

标签: php laravel websocket


【解决方案1】:

是的,我让它工作了。首先也是最重要的事情是将您的推送器从 6.* 降级到 4.*。这有一些问题。这是资源/js/bootstrap.js window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, wsHost: window.location.hostname, wsPort: 6002, wssPort: 6002, disableStats: true, enabledTransports: ['ws', 'wss'], });每当您使用 bootstrap.js 文件进行更改时,请确保运行 npm run dev / npm run production 。还要在 config/websockets.php 中的 ssl 数组中添加 verify_peer=>false

【讨论】:

    猜你喜欢
    • 2018-08-11
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多