如何从客户端到服务器将数据发送到Laravel echo Websocket

时间:2019-11-14 12:55:56

标签: laravel websocket laravel-echo

我正在使用Laravel Echo开发基于Websocket的Laravel应用。

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

这样:(客户端)

Echo.channel('testchannel')
    .listen('TestEvent', (e) => {
        console.log(e.message);
    });

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

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

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

TypeError: Echo.connector.socket is undefined

1 个答案:

答案 0 :(得分:1)

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

broadcast(new App/Events/TestEvent())->toOthers();

但是,这是我的主意。如果有更好的解决方案,我想受益。