• Какой стек технологий лучше выбрать для разработки чата?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Суть в том, что я не совсем понимаю работу вебсокетов, может быть кто-то писал что-то такое и может подсказать какую литературу или какие источники использовал.

    Я думаю автору имеет смысл пройти какой-то учебный курс (желательно платный) по JS+WebSockets.
    Это очень важная основа. Поэтому всякие yii2+vue+mongo не имеют никакого значение если ты не сможешь
    разбираться в простейших сетевых ошибках и состояниях протокола.

    Освоишь ws - делай любой чат. Ты его даже сделаешь без фреймворков.
    Ответ написан
    5 комментариев
  • Какой стек технологий лучше выбрать для разработки чата?

    daniel_pr
    @daniel_pr
    Не парьтесь. Чаты - это просто. И сам вебсокет - штука простая.

    Если интересно, можете почитать вот эту статью: там рассказано, как самому, используя только http пакет в ноде принять ws-подключение и обработать/отправить сообщение
    https://habr.com/ru/post/513224/

    Также очень полезно почитать сам rfc о протоколе (в частности раздел 5.2, где показан сам фрейм)
    https://www.rfc-editor.org/rfc/rfc6455
    Ответ написан
    Комментировать
  • Какой стек технологий лучше выбрать для разработки чата?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Можно на сокетах, но это сложнее на бэке делать.
    Проще всего простой REST-API. Но здесь придётся опрашивать сервер с некоторой периодичность, которая для тебя с твоей нагрузкой не критична
    Ответ написан
    Комментировать
  • Какой стек технологий лучше выбрать для разработки чата?

    vabka
    @vabka Куратор тега Веб-разработка
    Суть в том, что я не совсем понимаю работу вебсокетов

    Клиент отправляет на сервер 1 HTTP запрос, после которого у него остаётся на длительное время открытое двухстороннее соединение, по которому он может общаться с сервером, будто у него сырой TCP-сокет (по факту так и есть).

    Подробнее можно почитать на MDN.

    Может быть сам чат никто с 0 не пишет и есть какие-то готовые решения?

    На самом деле подобные анонимные чаты на столько легко реализуются, что проще написать самому, чем пытаться найти готовое решение.

    Насколько хорош мой выбор(yii2+vue+mongo)?

    Не уверен только на счёт mongo, тк в моих глазах это очень специфичное решение, которое не везде есть смысл применять.
    Если у тебя зафиксирована структура данных, и при этом у тебя нет кучи разных данных, которые хочется хранить в денормализованном виде, то реляционная СУБД будет, вероятно, и эффективнее и проще.
    Возможно, mongodb будет иметь смысл, если ты захочешь работать с сотнями тысяч клиентов, и тебе нужно будет распределять данные на несколько серверов (возможно, в разных ДЦ)

    yii2 - вполне ок вариант, раз у тебя уже есть опыт работы с ним. Модули для работы с вебсокетами для него есть.
    Ответ написан
    1 комментарий
  • Какой стек технологий лучше выбрать для разработки чата?

    @rPman
    зачем все так усложнять

    рабочий чат на websocket лежит в примерах наверное любой документации к websocket, первый же нагугленный проект (бакэнд на go но там код на 20 строк все понятно) на столько простой что даже непонятно что непонятно

    а еще есть webrtc, эта технология дает еще один механизм коммуникации между пользователями вообще минуя сервер, добавь сюда шифрование и failover при неработающем webrtc и получишь готовый проект
    Ответ написан
    Комментировать