gpt4 book ai didi

php - laravel echo 与 redis 和 socket io

转载 作者:可可西里 更新时间:2023-11-01 12:59:42 24 4
gpt4 key购买 nike

我有一个事件 SomeEvent.php

像这样:

<?php

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class SomeEvent implements ShouldBroadcast
{


use InteractsWithSockets, SerializesModels;

public $data;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($array)
{
$this->data = $array;
}

/**
* Get the channels the event should broadcast on.
*
* @return Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('channel-name');
}
}

我在我的 bootstrap.js 中包含了以下内容并用 gulp 编译了它

import Echo from "laravel-echo"

window.Echo = new Echo({
broadcaster: 'socket.io',
host: 'http://site.dev:6001'

});

window.Echo.private('channel-name')
.listen('SomeEvent', (e) => {
console.log(e);
});

然后我安装了 tlaverdure/laravel-echo-server,这是我的 laravel-echo-server.json

{
"appKey": "[generated]",
"authHost": "http://site.dev",
"authEndpoint": "/broadcasting/auth",
"database": "redis",
"databaseConfig": {
"redis": {},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": false,
"host": "sitei.dev",
"port": "6001",
"referrers": [],
"socketio": {},
"sslCertPath": "",
"sslKeyPath": ""
}

现在,当我使用 laravel-echo-server 启动 laravel echo 服务器时,它启动得很好,但是当我像这样启动上述事件时

event(new SomeEvent(json_encode(['name' => 'some-name'])));

我可以看到发布到 redis 的事件,但是没有任何内容记录到我的客户端控制台:我还在我的 master.blade.php 中包含套接字 io

上述情况也发生在通知上

任何帮助将不胜感激。谢谢大家

最佳答案

您是否在 BroadcastServiceProvider 中为您的 channel 定义了身份验证规则?

如果你在 laravel-echo-server.json 中打开 devMode,你是否看到任何关于连接和离开 channel 的信息?

我在尝试设置我的 websocket 连接时遇到了很多麻烦,但我终于弄明白了,我的代码看起来和你的很像。

祝你好运!

关于php - laravel echo 与 redis 和 socket io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40385127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com