@apptimeru

Как реализовать чат на вебсокетах?

Добрый день есть сайт, в основном написанный на php, mysql и немного js для некоторых ajax функций. Нужен некий функционал, такие как онлайн текстовые трансляции, лайв комментарии и подобные вещи. Подскажите пожалуйста через что все это реализовывать оптимальнее всего? Все что я накопал это - коммет серверы, которые толи устарели, толи платные, в общем не особо понятно, сокеты, которые я так и не догнал нормально использовать с php или нет, или нужно ставить сервер node js?

В общем подскажите пожалуйста оптимальный вариант, как быть? в какую сторону капать? есть ли подробные уроки по этим технологиям? А еще лучше видеоуроки? Есть ли смысл ставить дополнительно еще и node js?
  • Вопрос задан
  • 2836 просмотров
Пригласить эксперта
Ответы на вопрос 8
@Nwton
онлайн текстовые трансляции, лайв комментарии и подобные вещи

Что стоит использовать: node js + socket io
Что не стоит использовать: php + ajax
Ответ написан
Rou1997
@Rou1997
Проще всего реализовать не через сокеты, а через Long polling, это обычный AJAX, но использующий то, что HTTP основан на TCP (низший уровень сокетов), и есть возможность долго ждать ответа сервера, таким "костылем" и обеспечится "real-time" AJAX. Да, именно "костыль", да, не оптимально по нагрузке на сервер, зато более легко и надежно, чем сокеты, HTTP даже новее, а сокеты технология из 1980х годов, и WebSocket не далеко от них ушли по надежности, довольно сложно реализовать стабильное соединение в сокетах, но если все-таки WebSocket, то сперва изучайте на Node.js, потом переходите на PHP, в крайнем случае оставляете Node.js, это идеальный подход к мало знакомым областям.
Ответ написан
Комментировать
snipeer777
@snipeer777
Middle E-Commerce
Ответ написан
Комментировать
Могу порекомендовать faye.
Ответ написан
Комментировать
OnYourLips
@OnYourLips
я так и не догнал нормально использовать с php или нет, или нужно ставить сервер node js?
Можно нормально использовать и PHP.
Это самый здравый выбор: вам не надо будет поддерживать обе экосистемы и дублировать часть кода.

В PHP для вебсокетов принято использовать Ratchet: socketo.me
Подход аналогичен Node.js, но в экосистеме PHP.
Ответ написан
@Levhav
Возьмусь за разработку проектов любой сложности.
Комментировать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
25 окт. 2021, в 10:50
1200 руб./в час
25 окт. 2021, в 10:25
3000 руб./за проект
25 окт. 2021, в 10:08
5000 руб./за проект