我已经通过自己的实现成功地通过Laravel设置了websockets,但是经过大量的尝试并阅读了我能找到的所有文档后,我确实需要进一步的帮助。
sub sqlt_deploy_hook {
my ($self, $sqlt_table) = @_;
$sqlt_table->add_index(name => 'table_b_idx_source_id', fields => ['source_id']);
}
这是我的 .env 文件详细信息
"laravel-echo": "^1.5.2",
"socket.io-client": "^2.2.0",
laravel-echo-server.json
BROADCAST_DRIVER=redis
CACHE_DRIVER=file
QUEUE_CONNECTION=redis
SESSION_DRIVER=file
SESSION_LIFETIME=120
ExampleEvent文件
"database": "redis",
"databaseConfig": {
"redis": {},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
我的 Bootstrap.js
public function broadcastOn()
{
return new Channel('test-event');
}
public function broadcastWith(){
return [
'data' => 'key'
];
}
实施时
Laravel-echo-server:
[10:03:50 PM]-F07Nv9alc-Bsh3LEAAAB加入频道:测试事件 [10:04:16 PM]-F07Nv9alc-Bsh3LEAAAB左频道:测试事件 (关闭运输)通道:测试事件事件:App \ Events \ ExampleEvent
Redis:
1548349380.228566 [0 127.0.0.1:53929]“ EVAL”“-从队列中弹出第一个作业... \ nlocal job = redis.call('lpop',KEYS [1])\ nlocal 保留=假\ n \ nif(作业〜=假)然后\ n-增加 尝试计数并将作业放在保留队列上... \ n保留= cjson.decode(job)\ n保留['尝试'] =保留['尝试'] + 1 \ n保留= cjson.encode(保留)\ n redis.call('zadd', KEYS [2],ARGV [1],保留)\ nend \ n \ n返回{job,保留}“” 2“ “队列:默认”“队列:默认:保留”“ 1548349470” 1548349380.228773 [0 lua]“ lpop”“ queues:default”
此声明正在不断重复。
此外,浏览器中没有输出
答案 0 :(得分:0)
您需要在redis
文件中设置laravel-echo-config.json
配置,以便它从哪里知道"ask for messages"
,例如:
"databaseConfig": {
"redis": {
"host": "http://127.0.0.1"
"port": "6379"
},
}