【问题标题】:Laravel Socket.io Connected but not receiving dataLaravel Socket.io 已连接但未接收数据
【发布时间】:2017-05-20 17:44:35
【问题描述】:

我在本地环境中设置了一个工作节点服务器和 Redis 服务器,并且能够成功地将 socket.io 与 Laravel 一起使用。但是当我尝试将更改推送到生产服务器时,我意识到 socket.io 无法正常工作。

当我在 Google Chrome 控制台中输入以下命令调试 socket.io 时,它说它已经建立了连接,但它永远无法接收到数据。

localStorage.debug = "socket.io-client:socket"

我知道这是 redis 服务器的问题,因为它说它已连接到套接字。第二,如果我在事件类中写死和转储,它就成功地死了。

namespace App\Events;

class MyEvent implements ShouldBroadcast{
  public function broadcastOn(){
        dd("Successfully reached event");
        return new Channel($this->channel.'-channel');}}

最后,我知道它不可能是我的任何一个服务器,因为我能够从本地和远程主机卷曲 redis 服务器和节点服务器的端口。

这是一篇经过编辑的帖子,展示了我的调试过程。我原来的帖子太含糊了,因为我不知道如何调试这个问题,但如果你想看到它,请查看编辑。

【问题讨论】:

  • 不久前我遇到了一些类似的问题。看看这个:digitalocean.com/community/questions/…
  • 我这样做后仍然遇到同样的问题。
  • 我得到的只是控制台中的这个。 socket.io-client:socket transport is open - connecting +0ms
  • 你能分享你的CreatedPost活动吗?

标签: node.js laravel redis socket.io


【解决方案1】:

虽然很尴尬,但我找到了解决方案。它检测到套接字但未通过的原因是因为我忘记了环境变量已重置。所以我一直把它作为我的环境变量运行。

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

我应该在什么时候使用它。

BROADCAST_DRIVER=redis
CACHE_DRIVER=redis
SESSION_DRIVER=file
QUEUE_DRIVER=sync

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 2018-09-15
    • 1970-01-01
    • 2018-06-08
    相关资源
    最近更新 更多