laravel 使用 laradock 回显服务器

laravel echo server with laradock

我正在尝试使用 docker 和 socket.io 设置 laravel 回显服务器。

当我从 laravel 发送事件时,后端似乎工作正常,它显示在 laravel 回显日志中。

但是当我尝试从前端连接时,日志中没有显示任何内容。从我收集到的信息来看,每个连接都应该像这样显示

但我一无所获

我的客户代码:

window.echo = new Echo({
    broadcaster: 'socket.io',
    host: 'localhost' + ':6001'
});

window.echo.channel('laravel_database_test')
    .listen('.Test', e => {
        console.log(e)
    })

当我打开浏览器请求时,它不断向

发送请求
http://localhost:6001/socket.io/?EIO=4&transport=polling&t=NqPSDER

和回应

96:0{"sid":"aMA7f9VU7IQwT1UcAADu","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}2:40

但是当我调用 window.echo.channel(..) 时,它们是在 new Echo(...) 之后立即启动的,没有发送其他请求。

编辑

我注意到ws连接成功

我也检查了 laravel echo API 但不确定它是什么意思

**apps/../status**
{"subscription_count":5,"uptime":394.2726654,"memory_usage":{"rss":75575296,"heapTotal":20889600,"heapUsed":19851984,"external":1030517,"arrayBuffers":87478}}

**apps/../channels**
{"channels":{}}

事实证明,出于某种原因 socket.io 客户端无法正常工作,需要降级到版本 2.4.0。