Laravel Socket.io已连接但未接收数据

时间:2017-01-06 01:42:36

标签: node.js laravel redis socket.io

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

当我在谷歌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服务器和节点服务器的两个端口。

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

1 个答案:

答案 0 :(得分:0)

令人尴尬的是,我找到了解决方案。它检测套接字但未通过的原因是因为我忘记了环境变量被重置了。所以这一次我把它当作我的环境变量来运行。

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

当我应该使用它时。

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