Laravel 加入频道时回显发送数据
Laravel echo send data when joining channel
客户端刚加入频道时如何接收数据?
像这样:
Echo.channel('channel-name')
.onjoin(function (data) {
console.log(data) // Data received from server
})
客户端一加入,服务器就应该响应数据,最好是PHP。
编辑:
.这里会显示每个连接用户的数据,这不是我想要的。
我认为状态频道就是我要找的。 https://laravel.com/docs/8.x/broadcasting#presence-channels
// Define channel
Broadcast::channel('channel-name', function () {
if (/* Condition if user is allowed to join channel */) {
return ['data' => 'your Data'];
}
});
// Join channel
Echo.join('channel-name')
.here(function(data) {
console.log(data)
})
// Event
class Event implements ShouldBroadcast
{
public function broadcastOn()
{
return new PresenceChannel('channel-name');
}
}
存在频道return 客户端订阅时有关频道中用户的信息。
如果您需要来自服务器的其他数据,则可以向服务器发送 post 请求以获取信息。您可以在 pusher:subscription_succeeded
绑定中调用它,以便在建立订阅后立即发生。
客户端刚加入频道时如何接收数据?
像这样:
Echo.channel('channel-name')
.onjoin(function (data) {
console.log(data) // Data received from server
})
客户端一加入,服务器就应该响应数据,最好是PHP。
编辑:
.这里会显示每个连接用户的数据,这不是我想要的。
我认为状态频道就是我要找的。 https://laravel.com/docs/8.x/broadcasting#presence-channels
// Define channel
Broadcast::channel('channel-name', function () {
if (/* Condition if user is allowed to join channel */) {
return ['data' => 'your Data'];
}
});
// Join channel
Echo.join('channel-name')
.here(function(data) {
console.log(data)
})
// Event
class Event implements ShouldBroadcast
{
public function broadcastOn()
{
return new PresenceChannel('channel-name');
}
}
存在频道return 客户端订阅时有关频道中用户的信息。
如果您需要来自服务器的其他数据,则可以向服务器发送 post 请求以获取信息。您可以在 pusher:subscription_succeeded
绑定中调用它,以便在建立订阅后立即发生。