#php #laravel #laravel-echo #laravel-websockets
#php #ларавель #laravel-echo #laravel-websockets
Вопрос:
Я пытаюсь отправить событие whisper, когда пользователь покидает канал, но событие, отключенное пользователем, не срабатывает. Как ни странно, событие, связанное с пользователем, работает, когда пользователь присоединяется.
let channel = Echo.join(`consultation`)
channel.here((users) => {
usersCount = users.length;
$('#total-users').text(usersCount)
})
channel.joining((user) => {
usersCount = usersCount 1;
$('#total-users').text(usersCount)
Toast.fire({
icon: 'info',
title: user.name ' has joined the room.'
})
channel.whisper('user-connected',myPeerId) //works
})
channel.leaving((user) => {
usersCount = usersCount-1;
$('#total-users').text(usersCount)
Toast.fire({
icon: 'info',
title: user.name ' has left the room.'
})
channel.whisper('user-disconnected',myPeerId) //doesnt work
})
channel.listenForWhisper('user-disconnected',(e)=> {
console.log('userDisconect')
if (peers[e]) peers[e].close()
})
Комментарии:
1. Когда пользователь A покидает канал, для пользователя B запускается функция выхода, и сразу после тоста пользователь B будет шептать в канале. Итак, в вашем тестовом пользователе C не получает шепот, верно?
2. Не так ли: пользователь A, покидающий канал, будет выполнять шепот, а пользователь B получит его? @Parsa_Gholipour
3. Нет. Когда пользователь A уходит, событие выхода будет запущено для всех остальных присутствующих в канале, а объектом «user» является пользователь A.