如何将数据从客户端发送到 Laravel echo websocket

Héc*_*rán 5 websocket laravel laravel-echo

我正在开发一个基于 Websockets 的 Laravel 应用程序,使用Laravel Echo.

在服务器端一切正常,当我发送数据(通过Laravel-Websockets浏览器的可视界面)时,它们实时出现在浏览器控制台中。

这样:(客户端)

Echo.channel('testchannel')
    .listen('TestEvent', (e) => {
        console.log(e.message);
    });
Run Code Online (Sandbox Code Playgroud)

但是我也希望能够将数据从客户端发送到服务器(就像使用Websocket:send()方法完成的那样),为此我使用以下代码行:

Echo.connector.socket.emit('App/Events/TestEvent', 'testchannel', {"message":"Hello World"});
Run Code Online (Sandbox Code Playgroud)

但是,浏览器控制台中出现以下错误:

TypeError: Echo.connector.socket is undefined

小智 1

根据我的经验,我认为最好将数据发布到后端并在控制器中广播。

broadcast(new App/Events/TestEvent())->toOthers();
Run Code Online (Sandbox Code Playgroud)

然而,这是我的想法。如果有更好的解决方案我希望受益。