我正在使用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
答案 0 :(得分:1)
根据我的经验,我认为最好将数据发布到后端并在控制器中广播。
broadcast(new App/Events/TestEvent())->toOthers();
但是,这是我的主意。如果有更好的解决方案,我想受益。