Не могу понять зачем нужен Broadcasting в Laravel? Например чат - ведь я могу все сообщения рассылать подключённым клиентам на js (node.js + socket.io). Для чего включать в этот процесс php и laravel. Я видимо чтото упустил, буду признателен за разьяснение.
У меня к примеру стоит задача построения графика. Как я себе это представляю. Мне надо каждую секунду делать запрос к стороннему апи и узнавать цену доллара (на js видимо). Получив эти данные я пишу их в базу и одновременно рассылаю подключенным клиентам через сокеты. Здесь в своей логике я использую только js.
Вопрос - надо ли мне в моей задаче смотреть в сторону Broadcasting, если да то почему, я чтото упускаю?
Antonio Solo, я об этом както и не подумал, надо будет внимательнее посмотреть как это сделано, спасибо. А каким же образом он рассылает без ноды, там же вроде джаваскриптовая socket.io библиотека используется для этого?
semki096, socket.io в виде клиента можно использовать.
Есть другой сценарий, с клиента отправляется ajax в лару, там запускаются event и что то кидают в broadcasting, а нода только отправляет.
Есть вариант и без ноды, вот пакет для laravel, который реализует сокеты на php
Также на ларе могут быть задачи в кроне или какие-то тяжелые задачи, которые лучше убрать в очередь и когда они выполнятся, то отправить всё по сокету, а без широковещания не получится
Alex Wells, не могу понять зачем броадкастинг нужен к примеру в чате. Как я понимаю чат записывает сообщение пост-запросом в базу, и это запускает событие трансляции, ещё и очереди какието. Не проще ли через ноду писать сообщение в базу и одновременно рассылать сокетами на клиентов?
semki096, если у Вас отдельно модуль чата исключительно на node то так и делайте но в этом случае laravel ничего не будет знать про Ваш чат все что в нем происходит будет знать исключительно нода. Другой вариант бекенд чата на ларе клиент в браузере, а нода исключительно прослойка между бекендом и клиентом. Грубо говоря broadcasting отправляет сообщение в ноду, а нода на клиент.
Я выбирал второй вариант, так как взял уже готовый laraver echo server просто подключил его и настроил. Собственно для меня профит был в том что не нужно писать ничего отдельно на node и бекенд не выходит за пределы одной технологии в данном случае ларавеля
Если использовать laravel echo server, то под капотом все равно используется node.js. на счёт Broadcasting то что можно использовать node это хорошо но если Вам нужно будет передать сообщение из laravel приложения на клиент что будете делать? Тут и нужено широковещание.