Частное вещание Laravel - PullRequest
       0

Частное вещание Laravel

0 голосов
/ 11 июля 2019

Я пытался установить частные каналы, работающие с Laravel и laravel-websockets

Я преодолел несколько препятствий, но оставшееся при попытке авторизации:

preg_match(): Compilation failed: unrecognized character after (?< at offset 13

Эта ошибка, по-видимому, связана с:

 …/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/Broadcaster.php150 

Я полагаю, что соответствующие фрагменты кода были бы эхо-конфигурацией и прослушиванием.

bootstrap.js

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: process.env.MIX_PUSHER_APP_KEY,
    encrypted: false,
    wsHost: window.location.hostname,
    wsPort: 6001,
    disableStats: true,
});

admin.blade.php

 Echo.private('messages.{{Auth::id()}}')
    .listen('NewMessageNotification', (e) => {
      console.log(e.message.message);
});

На всякий случай channel.php

Broadcast::channel('messages.{$toUserId}', function ($user, $toUserId) {
    // return true;
    return $user->id == $toUserId;
});

Если я удаляю приват, все работает.

1 Ответ

0 голосов
/ 11 июля 2019
Broadcast::channel('messages.{$toUserId}', function ($user, $toUserId) {
// return true;
return $user->id == $toUserId;

});

Проблема была в $ в канале ...

Это правильный путь

Broadcast::channel('messages.{toUserId}', function ($user, $toUserId) {
    // return true;
    return $user->id == $toUserId;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...