Comments 19
Интересная статья. Но почему же вы так поллинг унижаете? Я согласен насчёт перспективности вебсокетов, но есть же ещё вполне неплохой и кросбраузерный long poll с тем же select/epoll на серверной стороне — не обязательно таймеры использовать.
Что есть вообще асинхронность? Если по-простому, то это способность кода «распараллеливаться», выполнять несколько кусков кода независимо друг от друга.
Не нужно путать. Асинхронный != параллельный. Классический JS может работать асинхронное, но не параллельно (всилу однопоточности VM). Полезное чтение: Как работают таймеры в JavaScript.
Асинхронность — возможность непоследовательного выполнения кода. Параллельность — возможность выполнения одного и того же кода в одновременно.
Один из минусов predis-async, это зависимость от «ext-phpiredis»: "*", который в свою очередь зависит от hiredis и эти зависимости ставятся через классику: make && make install;
Особых трудностей при установке не возикает, но всетаки, хочетя автоматической уставновки, хотябы через тот-же apt-get.
О пользователях винды я вообще молчу, что им будет стоить подянять у себя этот зоопарк, разве что в VirtualBox.
Особых трудностей при установке не возикает, но всетаки, хочетя автоматической уставновки, хотябы через тот-же apt-get.
О пользователях винды я вообще молчу, что им будет стоить подянять у себя этот зоопарк, разве что в VirtualBox.
Кстати интересная тема.
Я не проверял насколько работоспособен Ratchet под Windows. Есть ли под ней libevent? Плюс конечно понадобится и расширение php для работы с ним. Есть правда режим работы через stream_select, который не использует никаких сторонних зависимостей, по крайней мере для разработки сойдёт.
Я не проверял насколько работоспособен Ratchet под Windows. Есть ли под ней libevent? Плюс конечно понадобится и расширение php для работы с ним. Есть правда режим работы через stream_select, который не использует никаких сторонних зависимостей, по крайней мере для разработки сойдёт.
Недавно тоже написал статью о созданни чата на ReactPHP с Ratchet WebSocket:
elfet.ru/create-chat-on-php/
github.com/elfet/chat
elfet.ru/create-chat-on-php/
github.com/elfet/chat
Да ладно бросьте, вы свой чат по моему третий год все обещаете народу выпустить, на вашем же форуме уже люди смеются над вашими обещаниями.
Писать можно долго и красиво, но реальный работающий продукт куда лучше многих букв. Сделайте наконец плагины и потом пилите дальше ваш идеальный продукт, ну смешно же, выпускать версию с плагинами как минимум два года.
Писать можно долго и красиво, но реальный работающий продукт куда лучше многих букв. Сделайте наконец плагины и потом пилите дальше ваш идеальный продукт, ну смешно же, выпускать версию с плагинами как минимум два года.
Спасибо за комментарий =)) Да, пилю уже третий год, хотел слишком многое реализовать сразу, несколько раз переписывал заново, прокрастинировал, наступил на кучу грабель и т.п.
Но все же я ещё раз пообещаю выпустить чат в ближайшие сроки! Отказался от всех запланированных фич, будет базовая функциональность.
Но все же я ещё раз пообещаю выпустить чат в ближайшие сроки! Отказался от всех запланированных фич, будет базовая функциональность.
Зашел в чат и застрял там на час.
А я для своего чата остановился на Node.js & Socket.io. Но и проект у меня занял пару дней.
Конечно, скрещивание AngularJs, websockets & Nodejs вообще впечатляет. Немножко приходится повозиться с middleware для передачи сессии.
Конечно, скрещивание AngularJs, websockets & Nodejs вообще впечатляет. Немножко приходится повозиться с middleware для передачи сессии.
Поддерживаю. Подобный стек позволяет делать realtime-приложения, простор для деятельности огромный. Чат — лишь относительно простое частное применение.
Сейчас тоже делаем реалтайм-приложение с бэкендом на PHP и в поиске решения действовали, в общем, похожим образом. Изначально была идея сделать всё просто и изящно — PHP для обработки сообщений от клиента + Redis (в первую очередь из-за Publish/Subscribe из коробки) + Webdis в качестве транспорта сервер-клиент, но, увы, вебдис (пока еще?) не годится для продакшена и пришлось заменить его на Node.js+Sock.js.
Интересно, что вы скажите, когда попробуете meteorjs или derbyjs?
Вообще отличный проект, я бы поучаствовал даже, если лень-матушка не съест. А почему Вы решили не использовать PDO?
Спасибо :)
PDO используется. Другое дело, что на момент старта хотелось побыстрее всё запустить и были некоторые классы из собственного микрофреймворка под рукой. Из их числа в данный проект попала и обёртка для PDO и простейшая реализация DAO.
Но как я уже отмечал выше, по-хорошему либо надо смотреть в сторону Redis и исследовать область применимости, либо задействовать известный ORM, типа Doctrine, если оставаться на RDBMS
PDO используется. Другое дело, что на момент старта хотелось побыстрее всё запустить и были некоторые классы из собственного микрофреймворка под рукой. Из их числа в данный проект попала и обёртка для PDO и простейшая реализация DAO.
Но как я уже отмечал выше, по-хорошему либо надо смотреть в сторону Redis и исследовать область применимости, либо задействовать известный ORM, типа Doctrine, если оставаться на RDBMS
Спасибо за интересный пост!
Теперь тоже возникло желание поближе познакомиться с WebSockets.
Теперь тоже возникло желание поближе познакомиться с WebSockets.
Sign up to leave a comment.
Работаем асинхронно в PHP или история ещё одного чата