带socket.io的Laravel echo
我想在javascript端监听服务器端事件。我找到了这个包裹: 我已经多次阅读了所有这些内容: 到目前为止,我已经做到了: 控制器操作:带socket.io的Laravel echo,laravel,websocket,socket.io,laravel-5.3,laravel-echo,Laravel,Websocket,Socket.io,Laravel 5.3,Laravel Echo,我想在javascript端监听服务器端事件。我找到了这个包裹: 我已经多次阅读了所有这些内容: 到目前为止,我已经做到了: 控制器操作: broadcast(new NewVote()); event(new NewVote()); // Also tried this public function broadcastOn() { return new Channel('new-vote'); } import Echo from "laravel
broadcast(new NewVote());
event(new NewVote()); // Also tried this
public function broadcastOn()
{
return new Channel('new-vote');
}
import Echo from "laravel-echo"
window.Echo = new Echo({
broadcaster: 'socket.io',
host: 'http://assessment.local:6001'
});
window.Echo.channel('new-vote')
.listen('NewVote', (e) => {
console.log(e);
});
“新投票”事件类别:
broadcast(new NewVote());
event(new NewVote()); // Also tried this
public function broadcastOn()
{
return new Channel('new-vote');
}
import Echo from "laravel-echo"
window.Echo = new Echo({
broadcaster: 'socket.io',
host: 'http://assessment.local:6001'
});
window.Echo.channel('new-vote')
.listen('NewVote', (e) => {
console.log(e);
});
Javascript:
broadcast(new NewVote());
event(new NewVote()); // Also tried this
public function broadcastOn()
{
return new Channel('new-vote');
}
import Echo from "laravel-echo"
window.Echo = new Echo({
broadcaster: 'socket.io',
host: 'http://assessment.local:6001'
});
window.Echo.channel('new-vote')
.listen('NewVote', (e) => {
console.log(e);
});
laravel echo server.json
{
"appKey": "0p4o9t942ct15boc4nr8tjb178q29fdmlcat8c1p1s51i2pbq9nmtjud94t4",
"authHost": null,
"authEndpoint": "/broadcasting/auth",
"database": "redis",
"databaseConfig": {
"redis": {},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
"host": "assessment.local",
"port": "6001",
"referrers": [],
"socketio": {},
"sslCertPath": "",
"sslKeyPath": ""
}
此命令已在运行:
laravel-echo-server start
php artisan queue:work
php artisan queue:listen
gulp watch
我所期待的只是一个安慰按摩,当我启动活动时。但我在控制台上什么也看不到
如果需要任何其他信息,请告诉我
注意:My socket.io服务器正在成功运行,没有任何错误
谢谢
Parth Vora配置Echo花了我一段时间,但我发现客户端配置包含一个令人困惑的默认事件名称空间 尝试按以下方式配置Echo客户端库:
import Echo from "laravel-echo"
window.Echo = new Echo({
namespace: 'Base.Event.Namespace', //defaults to App.Event
broadcaster: 'socket.io',
host: 'http://assessment.local:6001'
});
因此,在触发类似Soevent(new\Hello\World\NewVote())
的事件时,请确保Echo配置了命名空间Hello.World
干杯 我不知道是什么问题。但最后,我让它发挥作用 我还创建了一个小演示,演示了如何使用Laravel echo服务器()将Laravel echo与socket.io结合使用
可能会帮助某人。您的
ws
连接到服务器成功了吗?@CerlinBoss是的,ws
连接中的帧如何?你收到了吗?当我重新加载任何页面时,我在控制台上得到这个:[4:02:50 PM]-7X4kQ2-fMdicrTp\u AAAC加入频道:新投票[4:02:50 PM]-7X4kQ2-fMdicrTp\u AAAC左频道:新投票,这意味着它工作正常。我使用这个命令安装了npm包npm安装
,然后在resources\assets\js中的bootstrap.js中的“laravel Echo”中启用这一行。我收到一个错误,说明找不到模块“laravel echo”
我需要为此安装任何东西吗?我正在使用echoHi学习laravel blade中的socket.io。你的github链接死了我的朋友,你能复制它吗?