#1 Laravel: Ratchet - WebSocket. Учимся работать с сокетами

Поділитися
Вставка
  • Опубліковано 11 вер 2024
  • Учимся работать с сокетами в Laravel.
    Ratchet - WebSocket/ socketo.me/
    ✔ Группа проекта вк: simple_...
    ✔ Подписка на канал: goo.gl/BUR12H
    ✔ Сайт автора: simple-training...

КОМЕНТАРІ • 72

  • @eb6006
    @eb6006 2 роки тому +9

    Если что на декабрь 2021 библиотека еще поддерживается и урок актуален!

  • @naruto190100
    @naruto190100 3 роки тому +1

    Sice jsem rozuměl asi každé třicáté slovo, ale i tak to opravdu pomohlo, díky!

  • @user-xc2xp7xf3h
    @user-xc2xp7xf3h 5 років тому

    Хоть видео и старое, но настолько простым языком объясняется материал, что сразу такое чувство "прорвало". и, наконец-то, ты способен понять то, что так долго не доходило к тебе. Спасибо!

  • @Heretic3234
    @Heretic3234 2 роки тому

    В конце чуть подзапарился походу. Если клиент совершает покупку это и есть общение клиент-клиент. Очень годное видео - СПАСИБО, подписался!

  • @user-tl5wm1fx7b
    @user-tl5wm1fx7b 6 років тому

    Повторил за автором и все заработало.Различия: у меня Опенсервер и лара 5.2. Главное внимательность и будет счастье:) Спасибо Дмитрий!

  • @DoeJoeD
    @DoeJoeD 9 років тому +4

    Очень интересный урок - спасибо!
    Побольше подобного в связке с Laravel!

  • @ntsd
    @ntsd 9 років тому +1

    Dmitry Afanasyev, ты гений! одно из самых полезных видео, которые я видел по PHP!
    наверно уже полгода ищу подходящее решение по WebSockets - и вот оно
    спасибо :)

    • @DmitryAfanasyev
      @DmitryAfanasyev  9 років тому +1

      +Nickola Shapoval
      Скоро про сокет пуш сниму - вот там магия ))))))

  • @olegivanov1270
    @olegivanov1270 8 років тому

    Просто восторг! Больше о Laravel и интересных возможностях!!!))Пожалуйста!

  • @user-vs4ix3vx3w
    @user-vs4ix3vx3w 8 років тому +1

    Дмитрий, очередное офигенное видео как всегда!!! Жир, тебе пора семинары проводить, я б сходил, даже заплатил бы без проблем)) Так держать, классно шаришь!

  • @dake1231
    @dake1231 9 років тому +2

    Ждем следующее видео. Спасибо за полезный урок

  • @muzaffarmakhkamov5307
    @muzaffarmakhkamov5307 5 років тому +1

    Bratan ya iz Uzbekistane ochen kruta! Rahmat kattakon !

  • @user-wf5jv1me2b
    @user-wf5jv1me2b 4 роки тому

    Единственное видео где все понятно ......
    Спасибо вам огромное !!

  • @dmitry3227
    @dmitry3227 9 років тому +1

    Отличная тема! Видео качественное, приятно смотреть

  • @simonovtony
    @simonovtony 7 років тому +6

    Здравствуйте, Дмитрий!
    Не могли бы вы сделать обзор на ReactPHP?

  • @logerlogs3
    @logerlogs3 8 років тому +10

    Hi Dmitry.
    Very useful tutorial. I do not speak Russian but I could understand most part of the tutorial.
    Could you provide a link with the files you created? BaseSocket.php and ChatSocket.php.
    Thank you very much.

  • @b0mav1
    @b0mav1 9 років тому +1

    Спасибо! Очень познавательно и интересно! (:

  • @Rilonx
    @Rilonx 9 років тому

    Очень полезная информация. Большое спасибо!

  • @user-ei6jg4yi5z
    @user-ei6jg4yi5z 2 роки тому

    Спасибо за видео. Была проблема на open server но на xammp php 8 laravel 8 работает

  • @user-sd8fk6bx3z
    @user-sd8fk6bx3z 9 років тому +4

    Сделайте пожалуйста уроки по основам ларавел: ioc, сервис провайдер, фасады и прочее . Как их использовать на практике

    • @DmitryAfanasyev
      @DmitryAfanasyev  9 років тому +2

      +Алмас Искаков Сделаю. Но это уже после базы по ларе. Что же касается именно сокетов 1) мало толковой инфы 2) столкнулся по работе. По этому решил снять видео вне очереди

    • @dmytroshulyakov1055
      @dmytroshulyakov1055 8 років тому

      +Dmitry Afanasyev Добрый день. А можно ли с помощью Ratchet сделать просто server который будет слушать и принимать данные именно по UDP протоколу и сохранять их, например, в бд. То есть сделать сервер на сокете, а не клиент клиент приложение.
      Да, и как потом сокет прибить? Только в процессах системы?

  • @RedkeiGost
    @RedkeiGost 8 років тому +1

    Ну вроде все ок, но будут ли отрабатывать middleware, или любой не авторизованный пользователь может теоретически подключиться и получить данные?

  • @larush4orl
    @larush4orl 2 роки тому

    Нигде не могу найти урок по работе Laravel в качестве клиента, нужно отправить запрос по вебсокетам и отработать ответ. Подскажите, плиз !

  • @yraharchenko6364
    @yraharchenko6364 5 років тому +1

    Ещё актуально?

  • @Max95Cohen
    @Max95Cohen 8 років тому

    Добрый день, Дмитрий.
    А буду ли серия про Laravel:
    - Service Providers;
    - Service Container.
    Спасибо.

  • @svetatam
    @svetatam 4 роки тому

    А что насчет скорости и о количестве одновременных подключений? Проигрывает NodeJs + Socket.io?

  • @Graf777gos
    @Graf777gos 9 років тому +1

    Отличное этим летом как раз интересна была тема сокетов на пхп, но ничего адекватного не нашел, только нода везде

    • @DmitryAfanasyev
      @DmitryAfanasyev  9 років тому

      +Василий Серпокрыл Аналогично. Вариантов реализации много находил, но везде приходилось слишком много серверных настроек делать, либо использовать платные сервисы. А хотелось без лишних телодвижений и бесплатно - ratchet это позволяет сделать (правда для того чтобы реализовать push с сервера - таки придется кое что установить. Но это будет гораздо проще чем если бы использовать редис или ноду).

    • @Graf777gos
      @Graf777gos 9 років тому

      Dmitry Afanasyev вы в видео сказали что в следующем видео как раз будите показывать пуш с сервера, я правильно понял?

    • @DmitryAfanasyev
      @DmitryAfanasyev  9 років тому +1

      +Василий Серпокрыл Да, все верно. Устраним те минусы которые я описал в конце видео. Сделаем то что предлагают платные сервисы, но бесплатно. Постараюсь на этой неделе снять видео.

  • @5821262
    @5821262 8 років тому

    В конце ролика, не совсем понял почему нельзя отправить сообщение по сокет соединению, из выполняемого по расписанию кода. Почему нельзя обратится к этому классу, взять соответствующие clients и сделать send?

  • @xlosrd
    @xlosrd 3 роки тому

    Спасибо =)

  • @CEHEKA
    @CEHEKA 5 років тому

    6:05 А почему надо перебирать в цикле всех клиентов для отправки сообщения, разве нет броадкаста и подписок в рачете?

  • @allawitte8681
    @allawitte8681 4 роки тому

    Дмитрий, громадное спасибо за урок. Он для меня очень и очень актуален. А можно ли ссылку на исходники кода?

    • @DmitryAfanasyev
      @DmitryAfanasyev  4 роки тому

      Благодарю. Исходники не сохранились.

  • @ilyapogudin5875
    @ilyapogudin5875 6 років тому

    Привет из далекого будущего - Laravel5.6, с небольшими изменениями все работает. А зачем магическое - class ChatSocket extends BaseSocket {} ?

  • @user-dn8yk9wq7c
    @user-dn8yk9wq7c 8 років тому

    Вы кода пишите свои уроки шрифт у редактора побольше делайте - так будет удобней вас смотреть

  • @VladislavVitalevich
    @VladislavVitalevich 7 років тому

    Подскажите плс...
    Использую laravel 5.4 Прохожу данный урок шаг в шаг что бы ознакомиться в практике с сокетами, Дошел до момента make:console, в 5.4 такой команды у artisan нет, но есть make:command.
    После создания Console-|Command-|ChatServer.php и выполнения команды php artisan chat_server:serve
    получаю:
    [Symfony\Component\Debug\Exception\FatalErrorException]
    Declaration of App\Classes\Socket\Base\BaseSocket::onOpen(App\Classes\Socket\Base\ConnectionInterface $conn) must be compatible with Ratchet\ComponentInterface::onOpen(Ratchet\ConnectionInter face $conn)

  • @user-zr3gv9uv9m
    @user-zr3gv9uv9m 7 років тому

    Немного не понял, как наиболее правильно реализовать отправку с клиента через autobahn?

  • @user-ko1rw1co7p
    @user-ko1rw1co7p 6 років тому

    При запуске сервера пишет Failed to listen on "tcp://0.0.0.0:8080": Даже причину не указывает. Сайт находится на хостинге... Если указать при запуске адрес "127.0.0.1", то работает. Только на этом ip...
    Подскажите, что может быть

  • @bryliano
    @bryliano 2 роки тому

    Привет. У тебя очень класные уроки! Спасибо большое! Подскажи пожалуйста, сделал всё по уроки, но получаю ошибку failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED. Использую Laravel 9 + sail

  • @CEHEKA
    @CEHEKA 5 років тому

    А как выцепить sessionid клиента, чтобы знать кто в сокет стучится?

  • @denial3874
    @denial3874 5 років тому

    А как из этого можно сделать месенжер ?

  • @pefren777
    @pefren777 7 років тому

    Спасибо за урок. А как запускать такую команду (chat_serve:serve) на хостинге? через cron? ssh?

    • @DmitryAfanasyev
      @DmitryAfanasyev  7 років тому

      Супервизор: laravel.com/docs/5.4/queues#supervisor-configuration

  • @Volanchick
    @Volanchick 8 років тому +1

    Дмитрий, Спасибо за Ваши уроки!
    У меня никак не получается подключиться к серверу. Хотя сервер создался нормально. В Браузере в консоли выходит: WebSocket connection to 'ws://localhost:8080/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
    Я уже все варианты перебрал и с портами и с IP. И проброс портов в VM пытался сделать. И через порты 7777 и guet 777 .
    Ничего не получается. Два дня выкинул на смарку((((
    Всё перепробовал здесь:
    $server = IoServer::factory(new HttpServer(new WsServer(new ChatSocket())), 8080');
    $server->run();
    И здесь
    var conn = new WebSocket('ws://localhost:8080');
    conn.onopen = function (e) {
    console.log("Connection established!");
    };
    Не подскажите мне, что делать???

    • @DmitryAfanasyev
      @DmitryAfanasyev  8 років тому

      +Кушнарёв Владимир
      Вероятно мешают какие-то уникальные настройки твоей системы.... У меня все и сразу получилось по оф. документации. Единственная проблема была - не срезу получилось ZMQ установить... но это уже во втором видео. Попробуй упрощать - не в вм, а в самой винде установить XAMPP и там все сделать.

    • @Volanchick
      @Volanchick 8 років тому

      +Dmitry Afanasyev Спасибо за совет. В XAMPP всё работает. А до этого пользовался Homestead, VirtualBox с Vagrant. Так и не пошло.

    • @user-tl5wm1fx7b
      @user-tl5wm1fx7b 6 років тому

      такая же ошибка, ответа н нашел:(

    • @SecretSecret-c7o
      @SecretSecret-c7o 6 років тому

      Подскажите, как запустить это на хостинге? В ChatServer.php мы коннектимся к порту 8080, но хост не дает мне права вешать листенер((

  • @user-gk5tw4xb3n
    @user-gk5tw4xb3n 6 років тому

    Спасибо. Годный материал! А как правильно остановить ratchat?

    • @allawitte8681
      @allawitte8681 4 роки тому

      Если это Windows, то вот так:
      tasklist /FI "IMAGENAME eq php.exe"
      - появляется список запущенных консольных php файлов:
      Image Name PID Session Name Session# Mem Usage
      ========================= ======== ================ =========== ============
      php.exe 918164 Console 1 N/A
      php.exe 923608 Console 1 30,504 K
      -выбираете свой :
      D:\OSPanel\domains\localhost\chat1>taskkill /f /PID 923608
      И получаете сообщение:
      SUCCESS: The process with PID 923608 has been terminated.

  • @muhammadkasymov4087
    @muhammadkasymov4087 Рік тому

    А про далёкое будущее не прогадали :D

  • @mister-ace
    @mister-ace 3 роки тому

    Актуален ли сейчас Ratchet?

    • @DmitryAfanasyev
      @DmitryAfanasyev  3 роки тому +1

      Самый верный способ - посмотреть развивается проект или нет.

  • @user-dn8yk9wq7c
    @user-dn8yk9wq7c 8 років тому

    Я уже на Yii2 давно сижу так что это не актуально для меня, но всё равно Thanks a lot of

  • @MrKatunins
    @MrKatunins 3 роки тому

    а я из будущего )))

  • @DanRotaru-1
    @DanRotaru-1 6 років тому

    Как мне использовать другой порт ?

  • @AlexanderGontarev
    @AlexanderGontarev 9 років тому

    лайк

  • @dianaaltuve3633
    @dianaaltuve3633 3 роки тому

    ya no se usa php artisan make:console para Crear un comando en laravel es php artisan make:command

  • @user-tq9nf9qm8z
    @user-tq9nf9qm8z 6 років тому

    Кто то знает как можно загрузить сессии laravel в ratchet при подсоединении

  • @stepanjan8622
    @stepanjan8622 7 років тому

    отличное видео.. спасибо огромное.
    Вы можете подсказать как мне можно на сервер передать onOpen() инфо про юзера, который открыл соединение
    или хотя бы как передать сессию.
    нашел это,
    laravel.io/forum/01-16-2015-loading-laravels-session-using-ratchet
    но $cookies = $conn->WebSocket->request->getCookies(); не работает
    $conn->WebSocket =
    stdClass Object
    (
    [closing] =>
    )
    заранее большое спасибо

  • @kryptamine
    @kryptamine 8 років тому

    вебсокет на пыхе - прохладная история. Лучше подойдёт go или нода.

  • @pfkcskafan
    @pfkcskafan Рік тому

    Привет, я из далёкого будущего, какие подводные камни?

    • @DmitryAfanasyev
      @DmitryAfanasyev  Рік тому

      Можно тайм код... Самому интересно)))

  • @jamesxammet7988
    @jamesxammet7988 7 років тому

    Если у кого не выходит установить связь с сокетами, то почитайте их документацию, мне помогло лично.
    socketo.me/docs/hello-world

  • @somponjuicerod1712
    @somponjuicerod1712 8 років тому

    Hellp me plase !!!
    How to support IE

  • @rudeadyet1992
    @rudeadyet1992 9 років тому

    English ?