Чат в реальном времени чисто на Drupal. Возможно?

16 сентября 2019 в 19:19
Аватар пользователя VasyOK VasyOK 0 14 Решено

Кто нибудь реализовывал чат между пользователями на Drupal в режиме реального времени?
Как на сайтах знакомств или работы.

Именно на Drupal, т.е. без подключения сторонних сервисов и некоторого ПО, которое блокируется на шаред хостингах.

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

Комментарии

Без стороннего ПО вряд ли получится. Как минимум nodejs понадобится.

Зы. Опять суперзадачки от ВасьКа?

16 сентября 2019 в 19:20

Что мешает реализации простого чата при помощи REST с интервалом обновления через ajax ? (Если проект не сильно нагруженный.)

16 сентября 2019 в 19:42
  1. Была на хабре как-то статья "сокеты на чистом php", даже рабочая демка была. Поищите, думаю подойдёт в рамках маленького сайта и "чисто на drupal".
  2. Если планируется "активное общение толпы людей", то, как сказали выше node.js в помощь.
  3. Можно конечно ещё найти бородатого админа чтоб он вам irc сервер поднял...
  4. Или реализовать api какого-нибудь сервиса, например https://quickblox.com (до 1000 пользователей бесплатно).
17 сентября 2019 в 0:11

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

Т.е. скорее всего, просто немного доработать Приватные сообщения..

Я сильно ошибаюсь?-)

17 сентября 2019 в 9:48

Доработать Приватные сообщения - да, именно так.
И пока ничего не нужно. вопрос пока теоретический.
Но вот обновлять ajax-ом даже не знаю. Хотя даже модуль соотв есть. https://www.drupal.org/project/ajax_privatemsg
Я пока думаю использовать block_refresh, т.к. люблю экспериментировать Smile

17 сентября 2019 в 9:58

Что-то мне подсказывает, что block_refresh сделан на аяксе.
У вас два варианта:

  1. по интервалу ддосить аяксом свой сервер - это НЕ "в реальном времени" - это с задержкой на величину интервала + скорость ответа.
  2. использовать сокеты, в той или иной технологии и получить "в реальном времени"
19 сентября 2019 в 21:23