Websocket (вебсокеты): связка PHP + JavaScript. 30-ти минутка совместной разработки.

  Рет қаралды 21,290

Андрей Шестаков

Андрей Шестаков

Күн бұрын

Пікірлер: 116
@chingiskuular1013
@chingiskuular1013 2 жыл бұрын
Приятный комментатор! Речь ровная и спокойная.
@Kim1ne
@Kim1ne Жыл бұрын
Это ты комментатор:D
@yaolegoleynik
@yaolegoleynik 2 жыл бұрын
Невероятно простое и понятное видео, спасибо большое!
@MRX-fy4vt
@MRX-fy4vt 2 жыл бұрын
Спасибо, хороший контент! Сделайте пожалуйста видео о настройке вебсокета на Swoole PHP
@max_line
@max_line 3 ай бұрын
Отличный контент по PHP! Круто, что открыл для себя этот канал 🎉
@ДенисДенисов-у7о
@ДенисДенисов-у7о Жыл бұрын
Благодарю за видео! Как раз по вашему примеру на рабочем проекте и внедрял вебсокеты!) И все благополучно "завелось"!
@dmitry_kalugin
@dmitry_kalugin Жыл бұрын
для управления положением окон удобны комбинации Win+Arrow и Shift+Win+[Left/Right Arrow]
@АнтонВогусов
@АнтонВогусов 3 жыл бұрын
Огромная благодарность за это! Приятно смотреть и слушать. Все четко, с толком, понятно и доступно))) Подписываюсь))
@artemidiumter6543
@artemidiumter6543 2 жыл бұрын
Спасибо за урок) пошёл делать крестики-нолики
@mumusus
@mumusus 6 ай бұрын
Спасибо, всё просто и доходчиво
@11-april
@11-april 2 жыл бұрын
Спасибо автору. Рекомендую обернуть обработчик нажатия клавиши в ещё callbac onopen объекта WebSocket, чтобы наверняка дождаться подключения пользователя.
@romeocapuletti2425
@romeocapuletti2425 Жыл бұрын
Pavel Durov, that is awesome! THX))
@АндрейШестаков-н6м
@АндрейШестаков-н6м Жыл бұрын
Pavel Durov is much smarter and rich, Iam just Andrei Shestakov.
@egorsmorgunov8024
@egorsmorgunov8024 4 жыл бұрын
гениально и просто. Вам надо в преподаватели идти.
@aqua-t6l
@aqua-t6l 2 жыл бұрын
Хорошее видео. Спасибо!🔥 Добавил в сохраненные себе
@youtubeyh
@youtubeyh 2 жыл бұрын
Спасибо, интересное и полезное видео, лайк подписка. Снимай больше про сокеты. Дополнительный текст для веса комментария для поддержки канала.
@blook1413
@blook1413 2 жыл бұрын
спасибо, ждем подробности о продаже апликух)
@pro100chok
@pro100chok 3 жыл бұрын
Как раз для практики чатик делаю, теперь хоть понятно как его сделать!) (на ютубе видел вариант через постоянный долбеж сервера запросами, сразу мимо)
@stolz999
@stolz999 2 жыл бұрын
Простой чатик на двоих может и не хуже. Непонятно как поддерживать живым процесс сервера
@danila7333
@danila7333 2 жыл бұрын
СПАСИБО! Здоровья тебе!
@ЭдуардЕвдокимов-й1о
@ЭдуардЕвдокимов-й1о 3 жыл бұрын
спасибо за освещение workerman. а то наслышан только про ratchet
@ngkq5403
@ngkq5403 3 жыл бұрын
Здравствуйте как запустить скрипта Workerman на виртуальном хостинге?
@Тришула
@Тришула 3 жыл бұрын
Класс! Очень интересная технология!
@baurbaur332
@baurbaur332 2 жыл бұрын
Вау прекол, пасибо чел.
@akik6713
@akik6713 2 жыл бұрын
Спасибо, лучший
@statdotastaff6193
@statdotastaff6193 3 жыл бұрын
Топ контент, спасибо! Андрей подскажи как с защитой, можно ли "грабить" данные которые отдаются по сокетам и как от этого защититься?
@StudioBaraban
@StudioBaraban Жыл бұрын
Добрый день, Андрей! Спасибо за видео! Можно ли купить у тебя личную консультацию и сколько стоит? У меня не получается подключиться к Binance Api через Websockets на php!
@АндрейШестаков-н6м
@АндрейШестаков-н6м Жыл бұрын
Доброго дня. С Binance Api не знаком, к сожалению. В настоящий момент весьма загружен, чтобы дельно помочь, извиняюсь. Но если сузите и конкретизируете вопрос, то может что смогу заметить. На каком этапе проблематика?
@StudioBaraban
@StudioBaraban Жыл бұрын
Я запустил у себя на сервере workerman. А дальше не понимаю - как его сделать клиентом. Чтобы Php слушал чужой сервер (binance)
@АндрейШестаков-н6м
@АндрейШестаков-н6м Жыл бұрын
@@StudioBaraban здесь, конечно, нужно копать. Мне кажется Вам не нужен workerman или я не понял задумку. Workerman нужен для поднятия на PHP своего сервера, поддерживающего протокол websocket`a. Во всяком случае в видео я показываю именно его в использовании как серверной части. Может там как-то можно и php клиента инициировать, не пробовал. 1. У Biannce API есть endpoint по протоколу websocket`ов: binance-docs.github.io/apidocs/websocket_api/en/#change-log 2. Нужно подключиться к их endpoint`у и слушать сообщения. Для этого много готовых пакетов на github, по ключевой фразе: php websocket. Например, вот статья с примером какой-то библиотеки: www.piesocket.com/blog/php-websocket
@fullfree1812
@fullfree1812 Жыл бұрын
Респект!
@Лена-ч5м
@Лена-ч5м 3 жыл бұрын
Вы молодец! Подписался
@EvilGazz
@EvilGazz 3 жыл бұрын
Спасибо! Полезно!
@Pavelbrov
@Pavelbrov 3 жыл бұрын
Спасибо, очень доходчиво, ещё было бы круто, если бы добавили про каналы (channel) и подписки(subscribe)
@mushnikov35
@mushnikov35 3 жыл бұрын
Спасибо за видео, еще ни разу не использовал данный протокол, интересно было попробовать на сайтах только пока что не придумал для чего )
@vadimdorokhov8375
@vadimdorokhov8375 3 жыл бұрын
Круто, спасибо)
@АлекандрМарченко-д6г
@АлекандрМарченко-д6г 2 жыл бұрын
Интересно. Расскажи о продаже флешь игор.
@АнтонКовалёв0
@АнтонКовалёв0 3 жыл бұрын
Круто!
@PoulFly
@PoulFly 2 жыл бұрын
Спасибо за видео, вопросик а если будет онлайн 1000 человек то такой подход норм? Сервак не ляжет? И тут реализация для одного типа соединения, а как на счет если у нас будет, чат, какие-то уведомления, дополнительно синхронизация действий на редактирование статей и тд, то в таком случае workerman разрулит?
@grigoriymalyshev4782
@grigoriymalyshev4782 2 жыл бұрын
Спасибо за отличное объяснение! Непонятным осталось одно: что делает count? Дока по workerman нашлась только на китайском.
@АлексейБезымянный-ы9и
@АлексейБезымянный-ы9и 2 жыл бұрын
13:01 вся соль, которой мы хотим добиться
@redhook777
@redhook777 3 жыл бұрын
Спасибо)
@niko.classica
@niko.classica Жыл бұрын
Привет на OpenServer не вышло( пишет в js файле неверное соединение к сокету. Естсетвенно вокерман добавил в проект
@romanmed9035
@romanmed9035 3 жыл бұрын
а чтобы не все все видели, а конкретный клиент с центром и другой клиент с центром и между собой они никак?
@БогданБогдан-е2ю
@БогданБогдан-е2ю 4 жыл бұрын
25:59 тут не баг. чтобы такого не было, надо убрать лишние процессы: $wsWorker->count = 1;
@popov.artem1205
@popov.artem1205 3 жыл бұрын
Да, без $wsWorker->count = 1 не работает. Спасибо огромное за подсказку!
@mumusus
@mumusus 5 ай бұрын
Такой вопрос. А можно ли сделать так? Клиент подключился на сайте к вебсокету. Произвели хендшейк и ждем. Если на сервере в базу данных упала некая запись - инициировать отправку данных по вебсокету клиенту?
@cleverscript
@cleverscript Жыл бұрын
Супер, получилось повторить на OpenSrver. Но возникает вопрос, а как поддерживать этот процесс на сервере постоянно? Например после перезагрузки сервера? Нужно команду php server/server.php стартануть заново, но как? На Unit systemd сервисе или как это решается?
@АндрейШестаков-н6м
@АндрейШестаков-н6м Жыл бұрын
Да, systemd, либо рестарта системы поддерживаются на уровне кубернетиса.
@IbragimIbragim-lw1fs
@IbragimIbragim-lw1fs 4 жыл бұрын
а как такой скрипт запустить на сервере, или как это работает на хостинге?
@khartower
@khartower 3 жыл бұрын
никак
@khartower
@khartower 3 жыл бұрын
вопрос, данные сокеты работают по https (wss)? Если да то как, эту тему редко кто освещает
@devracoon
@devracoon 3 жыл бұрын
Все таки пхп создан, чтобы умирать) P.S: Речь про демонизацию процессов на ПХП (WS сервер)
@АндрейШестаков-н6м
@АндрейШестаков-н6м 3 жыл бұрын
Тема холиварная =) Есть ряд технических факторов, когда процесс на PHP очень даже подходящее решение в срезе переменных трудозатрат: времени/цены/сложности. Скажем так, табу здесь нет и лучшим решением является рассмотрение конкретных кейсов, когда PHP демон применим, а когда лучше выбирать альтернативу. В абстрактной форме ультимативные утверждения обычно нежизнеспособны. Это относится, как к программированию, так и жизненным подходам, пожалуй. Но это так, философские рассуждения в никуда =)
@wyeth228
@wyeth228 3 жыл бұрын
Что делать если команы start, status и другие не работают. У меня тот же код, использую php 8
@gudvin2001
@gudvin2001 2 жыл бұрын
и как этот одтдельно запущенный процесс, который будет выступать вебсокет сервером администрировать на реальном сайте?
@TheDamage1982
@TheDamage1982 3 жыл бұрын
Добрый день! Так нужно чтобы на клиенте был уже установлен node и глобально http-server?
@pantydev
@pantydev 3 жыл бұрын
Протестировал ваш пример на OpenServer локально, всё работает, спасибо! Теперь хотелось бы узнать как сделать подключение внешне? Имею внешний IP, указал его в подключении к серверу на стороне клиента, порт 2346 открыл. Соединение происходит только через мобильный интернет, данные на сервер идут, сообщение о подключении есть, однако передача сообщений с сервера на клиент в таком случае отстутствует почему-то.
@АндрейШестаков-н6м
@АндрейШестаков-н6м 3 жыл бұрын
К сожалению, сходу предположить сложно, раз до сервера доходят подключения. Нужно уточнять какой браузер выступает клиентом, раз речь про мобильный интернет. Проверить работает ли через desktop соединение. Попробовать другой порт.
@pantydev
@pantydev 3 жыл бұрын
@@АндрейШестаков-н6м итак, Не могу утверждать наверняка - нужна перепроверка. Мы тестировали с другом, и то что я описывал выше относилось к его проверкам. Когда я самостоятельно решил проверить через свой моб. инет, выяснилось что проблема заключалась в максимально банальном. Банально - в браузере моб. телефона оставался старый кэш, и после его очистки все отлично работало. Панели разработчика там нет, поэтому функции disable cache тоже нет соответственно. Пришлось в ручную удалять. Осталось проверить удаленно у друга, так ли это.
@pantydev
@pantydev 3 жыл бұрын
@@АндрейШестаков-н6м извините за такую тупость. Иногда бывает часами сижу над проблемами которые фиксятся очень быстро x)
@АндрейШестаков-н6м
@АндрейШестаков-н6м 3 жыл бұрын
@@pantydev, не переживайте на данный счёт. Это у всех разработчиков бывает в той или иной мере.
@vitalik5743
@vitalik5743 Жыл бұрын
А что с качеством?
@olkhagaming4053
@olkhagaming4053 3 жыл бұрын
Сразу несколько вопросов. 1. Для достаточно простого приложения цепляется фреймворк в сотни файлов. Так ли это необходимо? 2. Возможна ли реализация используя функциональное программирование? 3. Как осуществлять аутентификацию пользователей использующих сокеты?
@krepkovmeste
@krepkovmeste 4 жыл бұрын
Подскажи пожалуйста, а как можно решить простую задачу, чтобы когда данные какие-то приходят и добавляются в базу, можно было клиентам сразу их выдать, но без постоянных запросов, по типу ajax запросов с помощью setInterval через n количество секунд. Есть старенький event source, но не понимаю он может реагировать на события или нет. В Интернете совсем нет никаких примеров, а сам сколько бы не тыкался, всё равно не получается, именно отреагировать на отправку данных при определёном событии
@АндрейШестаков-н6м
@АндрейШестаков-н6м 4 жыл бұрын
Ваш вопрос лежит больше в плоскости инфраструктуры, нежели программирования, но решение в целом есть, но это не супер просто. 1. Для связки клиент-сервер можно использовать протокол WebSocket`a или EventSource - это два разных подхода, они оба подойдут для цели уведомить клиента (браузер) с сервера. 2. А вот базы данных, как правило, напрямую не умеют сами уведомлять внешние процессы об изменениях (о появлении новых записей), поэтому обычно схема такая: - в инфраструктуру добавляется брокер сообщений, например RabbitMQ - на каждое соединение от клиента - поднимается программно отдельная очередь. - предположу, что добавление записей в базу происходит тоже через слой приложения. Поэтому при добавлении новой записи в базу, также создается и сообщение, отправляемое во все (fanout exchange) открытые очереди. - серверные скрипты, к которым в фоне подключены клиенты подписаны каждый соответственно на свою очередь и по событию добавления записи могут уведомлять клиента. В общем - ответ лежит в области применения брокеров сообщений и очередей. Если с этой темой пока не знакомы, то стоит как-нибудь на досуге туда копнуть.
@АндрейШестаков-н6м
@АндрейШестаков-н6м 2 жыл бұрын
@@Andrei_Seliukov к сожалению веб-сокеты не мой прямой профиль, поэтому широко в данную тему не погружен, но вы можете оставить здесь свой вопрос - если смогу полезное сказать, то отвечу.
@grokgustavo
@grokgustavo 3 жыл бұрын
Спасибо, каков ваш опыт на php и на каком стэке в основном работаете? Ради интереса спрашиваю.
@АндрейШестаков-н6м
@АндрейШестаков-н6м 3 жыл бұрын
В коммерческой разработке лет 8. Стек на работе: PHP: Symfony, JS: vueJS + legacy jquery, БД: postgres.
@millenial1584
@millenial1584 3 жыл бұрын
Здравствуйте! Можете подсказать, как исправить такую ошибку? PHP Fatal error: Uncaught Error: Call to undefined function posix_getpid() in /home/a0396279/domains/koprik.uz/public_html/vendor/workerman/workerman/Worker.php:2128
@SergeyShuchkin
@SergeyShuchkin 3 жыл бұрын
на windows ? if (!function_exists('posix_getpid')) { function posix_getpid() { return getmypid(); } }
@kind1y
@kind1y 2 жыл бұрын
Топчик! А какие проблемы могут возникнуть с утечками памяти и не только, если подымать свой сервер? Отдельный бы урок пожалуйста)
@trismegistos1s
@trismegistos1s 2 жыл бұрын
привет. ты не нашел ответ на свой вопрос?
@kind1y
@kind1y 2 жыл бұрын
@@trismegistos1s неа :(
@trismegistos1s
@trismegistos1s 2 жыл бұрын
@@kind1y я хочу из сайта сделать приложение, чттобы вебсокет контент обновлял да и уведомления посылала. ларавел нодежс не потяну, тупой слишком, но тут вроде всё просто. вот не знаю тоже пробовать это или нет
@ndorerahojules5926
@ndorerahojules5926 2 жыл бұрын
Привет...мне нужна ваша помощь по вебсокету...ошибка возникла
@АндрейШестаков-н6м
@АндрейШестаков-н6м 2 жыл бұрын
Приветствую. Извиняюсь, скажу откровенно, что пока очень загружен, времени провести частный разбор ситуаций не смогу найти.
@ndorerahojules5926
@ndorerahojules5926 2 жыл бұрын
@@АндрейШестаков-н6м хорошо.. но мой вопрос может быть простой...как запустить рачет на удалённом сервере???
@Hrachik333
@Hrachik333 3 жыл бұрын
А ведь можно вместо nodejs сервер использовать к примеру apache2?
@АндрейШестаков-н6м
@АндрейШестаков-н6м 3 жыл бұрын
Здравствуйте. NodeJS сервер и Apache в целом очень разные по идее концепции, они не являются альтернативой друг другу. В видео я, вероятно, говорил про NodeJS в контексте того, чтобы транспилировать JS код в совместимый с браузерами.
@Fhkbsthn
@Fhkbsthn 4 жыл бұрын
Не могли бы вы на github выложить код?
@АндрейШестаков-н6м
@АндрейШестаков-н6м 4 жыл бұрын
Да, конечно: github.com/aashestakov/workerman-sample2
@iMarkusUS
@iMarkusUS Жыл бұрын
Почему так : почему бы не выложить пакет кода
@blackbeeq
@blackbeeq 4 жыл бұрын
Андрей, можете пожалуйста объяснить как отправлять конкретному пользователю (личное сообщения)
@АндрейШестаков-н6м
@АндрейШестаков-н6м 4 жыл бұрын
Приветствую. Чтобы отправлять запросы определенному клиенту - нужно сопоставить соединению клиента некий уникальный идентификатор. Можно сделать так: 1. 7:55 - когда клиент подключился, в этом методе на сервере генерируем уникальный идентификатор. Если по простому это может быть uuid, в php есть библиотеки для его генерации. Или для легкости эксперимента - просто число. 2. Сразу клиенту передаем через метод $connection->send сообщение с этим идеентификатором. Сообщения нужно делать разными и заворачивать в формат JSON. Плюс на сервере создаем некий справочник соответствий (ассоциативный массив): "идентификатор клиента" => $connection (объект соединения) 3. 24:19 - клиент может получить JSON, преобразовать его в объект, вытащить идентификатор и запомнить его. Все. Если клиент отправляет на сервер любой запрос, то прикладывает к нему свой идентификатор. Если сервер хочет отправить сообщение определенному клиенту, то по справочнику находит нужное соединение и шлет сообщение именно ему. Если по правильному, то вместо идентификатора должен генерироваться некий шифрованный токен, который на каждом ообращении от клиента будет проверяться сервером, но это уже другая история. Если конкретно для примера личных сообщений, то еще раз кратко: 1. Клиент подключился - назначаем ему какой-то идентификатор. 2. Когда клиент хочет отправить личное сообщение - передаем на сервер идентификатор отправителя и получателя. 3. На сервер по сформированному справочнику находим соединение получателя и шлем конкретно ему.
@blackbeeq
@blackbeeq 4 жыл бұрын
@@АндрейШестаков-н6м Что лучше Ratchet или Workerman?
@blackbeeq
@blackbeeq 4 жыл бұрын
@@АндрейШестаков-н6м можете записать вторую часть на счет данной темы, не со всем понятно
@АндрейШестаков-н6м
@АндрейШестаков-н6м 4 жыл бұрын
@@blackbeeq В боевой среде использовать эти библиотеки не приходил, только на уровне экспериментов. Но я бы более рекомендовал Workerman, так как у него нет никаких зависимостей внутри от сторонних библиотек в отличии от Ratchet. Плюс по показателям на github сообщество вокруг Workerman более живое в моменте. По вопросу - продолжения темы WebSocket и примера личных сообщений - возможно, но обещать пока не могу.
@blackbeeq
@blackbeeq 4 жыл бұрын
@@АндрейШестаков-н6м в ютубе нету ни одного видео по этой теме, как отправка конкретному пользователю. У многим похожи пример и всё, дальше никто не заходил, так что тема не раскрыта.
@sergpozi
@sergpozi 4 жыл бұрын
Добрый вечер! Как такой скрипт запустить на хостинге?
@АндрейШестаков-н6м
@АндрейШестаков-н6м 4 жыл бұрын
Добрый. Не уверен, что верно понял контекст вопроса, но все же. 1. Смотря какой хостинг, если урезанный shared хостинг, то могут быть ограничения на исполнение долгоживущего worker`a. 2. Если мы говорим про полноценный VPS под Unix системой, то долгоживующие воркеры PHP обычно запускаются при старт системы, а поддерживаются, как вариант, утилитой supervisord, чтобы перезапускать вокрера при падении. Тогда мы получим стабильный процесс, ожидающий соединения по протоколу websocket.
@sergpozi
@sergpozi 4 жыл бұрын
@@АндрейШестаков-н6м Понял, спасибо) А продолжения по Websocket случайно не будет? Чтобы можно было например создать несколько "комнат" и в каждой комнате своя жизнь, что-то на подобии многопользовательской игры.
@АндрейШестаков-н6м
@АндрейШестаков-н6м 4 жыл бұрын
@@sergpozi точно будет про PHP в плане best practice (хороших практик). Webscocket тема интересная - возможно вернусь к ней в январе, но обещать точно пока не могу.
@youtubeyh
@youtubeyh 2 жыл бұрын
@@АндрейШестаков-н6м Уже январь, возвращайтесь. =)
@crogot
@crogot 2 жыл бұрын
Обработка движения одна лишняя, нужно оставить только по сообщению, иначе при нажатии клавиши движение обрабатывается 2 раза, по событию клавиши и потом ещё раз по сообщению от сокета, либо проверять и не обрабатывать сообщения от себя самого (делать проверку по дополнительном полю - инициатор движения)
@Igramant
@Igramant 3 жыл бұрын
Бля, что ж такое, у меня пишет WebSocket connection to ws://0.0.0.0:2346 failed.... Unexpected response code: 200, В чем может быть проблема? У меня стоит Open server, и еще проблемы были с Node JS, через windows консоль все делал, может из за этого?
@sergeys1976
@sergeys1976 3 жыл бұрын
Вы случайно не решили эту проблему? А то я уже неделю пытаюсь ее решить и ни как.
@NikK0lay
@NikK0lay Жыл бұрын
На PHP? Зачем? Можно же на node?
@ilnard
@ilnard Жыл бұрын
Клон Павла Дурова?
@АндрейШестаков-н6м
@АндрейШестаков-н6м Жыл бұрын
Хорошо хоть не клоУн :-)
@deutschc9058
@deutschc9058 4 жыл бұрын
очень мелко код, но все-равно сапсибо
@deutschc9058
@deutschc9058 4 жыл бұрын
это бек или фронт?
@АндрейШестаков-н6м
@АндрейШестаков-н6м 4 жыл бұрын
В видео есть обе части. 1. Backend часть - это php библиотека Workerman, которая в нашем случае просто слушает сообщения и ретранслирует их клиентам. 2. Фронт часть на JS - это клиент, коим является браузер.
@deutschc9058
@deutschc9058 4 жыл бұрын
@@АндрейШестаков-н6м спасибо.
@АлександрИванов-п8й7д
@АлександрИванов-п8й7д 3 жыл бұрын
чел все классно - ты экран для себя пишешь - слабо шрифт раз в 10 увеличить
@АндрейШестаков-н6м
@АндрейШестаков-н6м 3 жыл бұрын
Да, недочет. В следующих записях исправил проблему мелкого шрифта.
@ДвеНовости
@ДвеНовости Жыл бұрын
На хрена создавать не полные видео? Подобных видео куча, очередной фуфломет который отнимает время, без настройки сервера работать не будет данное чудо. Покажите полное развертывание.
@АндрейШестаков-н6м
@АндрейШестаков-н6м Жыл бұрын
Фуфломет, зачёт :-)
@prorevalution9522
@prorevalution9522 2 жыл бұрын
халтура
@АндрейШестаков-н6м
@АндрейШестаков-н6м 2 жыл бұрын
:-(
@Sputnik134
@Sputnik134 5 ай бұрын
Спасибо бро!🤘
@salikhov_id
@salikhov_id 2 жыл бұрын
спасибо большое!
@АлексейТихомиров-т1ф
@АлексейТихомиров-т1ф 3 жыл бұрын
Спасибо!
PHP улучшаем производительность: настройки PHP-FPM
20:16
Андрей Шестаков
Рет қаралды 17 М.
PHP: выборка данных из БД и генераторы
29:24
Андрей Шестаков
Рет қаралды 10 М.
А я думаю что за звук такой знакомый? 😂😂😂
00:15
Денис Кукояка
Рет қаралды 4,3 МЛН
Кто круче, как думаешь?
00:44
МЯТНАЯ ФАНТА
Рет қаралды 6 МЛН
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 94 МЛН
Знакомство с WebSocket
10:29
CodeDojo
Рет қаралды 91 М.
Зарабытывал на Flash играх
9:12
Андрей Шестаков
Рет қаралды 594
Открытое собеседование на PHP Мидл разработчика
35:36
JavaScript решает 26. Чат на сокетах с Ratchet
24:08
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 13 М.
Что такое веб-сокеты за 4 минуты
4:36
PHP 8.0 - 8.2 | Производительность и фичи
18:19