WebSocket连接到' ws://ws.pusherapp.com/app/...'失败:WebSocket在建立连接之前关闭

时间:2016-03-17 16:25:24

标签: php laravel websocket chat pusher

我遇到了为Framework Laravel制作的包的问题。 我想和我的项目聊聊,让人们互相交流。

问题是当我尝试在推送器上访问我的应用程序时,我收到以下2个错误代码:

WebSocket connection to 'ws://ws.pusherapp.com/app/my_app_key?protocol=7&client=js&version=2.2.4&flash=false' failed: WebSocket is closed before the connection is established.

pusher.js:12 Pusher : Error : {"type":"WebSocketError","error":{"type":"PusherError","data":{"code":4001,"message":"Could not find app by key my_app_key. Perhaps you're connecting to the wrong cluster."}}}

此包名为Confer(https://github.com/dazzz1er/confer)。

我的所有文件都是正确的,但它不起作用! 我在laravel 5.1

在config / services.php

'pusher' => [
  'public' => 'my_app_key',
  'secret' => 'my_secret_key',
  'app_id' => 'my_app_id'
]

我的刀片模板

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title> My project - @yield('title') </title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <link rel="stylesheet" href="./css/style.css" media="screen" title="no title" charset="utf-8">
  <link rel="stylesheet" type="text/css" href="../css/sweetalert.css">
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
  <link href="/vendor/confer/css/confer.css" rel="stylesheet">
  <script src="./js/jquery-1.12.0.min.js" charset="utf-8"></script>
  <script src="./js/bootstrap.min.js" charset="utf-8"></script>
  <script src="./js/jcarousel.js"></script>
  <script src="./js/jcarousel-basic.js" charset="utf-8"></script>
  <script src="../../js/sweetalert.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body class="homepage">

  @include('confer::confer')

  @include('sweet::alert')

  @include('layouts.includes.nav')

  @include('layouts.includes.header')

  @yield('content')

  @include('layouts.includes.footer')

  <script src="./js/pusher.js"></script>
  <script src="./js/moment.js"></script>

  @include('confer::js')

</body>
</html>

感谢您的帮助! :)

编辑:我收到回复,这是版本之间的差异! 任何人都可以帮我把Laravel 5中的Confer转换成Laravel 5.1吗?谢谢 ! :)

以下是laravel 5中的完整演示! https://github.com/dazzz1er/confer-demo

3 个答案:

答案 0 :(得分:1)

如果您不是来自美国,我认为您需要将群集更改为“eu” https://pusher.com/docs/clusters#/lang=php

答案 1 :(得分:0)

此处的错误消息Could not find app by key my_app_key表示您尚未使用实际的Pusher凭据替换这些凭据,您可以在Pusher信息中心找到这些凭据。

如果Pusher库未获得有效凭据,则会抛出该错误。如果您已正确更新config/services.php,则可能需要重新启动服务器才能使更改生效。

您需要更改config/services.php以使用您可以在“应用密钥”部分下的Pusher信息中心找到的密钥。例如:

enter image description here

答案 2 :(得分:0)

我不会假装复制别人的答案,但我只想分享对我有用的东西。在env文件中,我没有正确配置 BROADCAST_DRIVER = pusher 。然后,当我在他们的网站上创建推送应用程序时,检查群集与我提供的群集相同。您还可以在“应用程序密钥”选项卡下找到分配给您的群集名称。然后,我重新启动Chrome浏览器,最后通过运行valet restart我重新启动服务器。您可以使用不同的命令重新启动服务器,具体取决于您的开发环境。