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

Аватар пользователя VasyOK VasyOK 16 сентября в 19:19

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

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

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

0 Thanks

Комментарии

Аватар пользователя ivnish ivnish 16 сентября в 19:20
1

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

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

Аватар пользователя bumble bumble 16 сентября в 19:30

DrupalChat
Лет 7 назад работал "без подключения сторонних сервисов и некоторого ПО, которое блокируется на шаред хостингах".

Аватар пользователя w_andreu_w w_andreu_w 16 сентября в 19:42

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

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

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

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

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

Аватар пользователя VasyOK VasyOK 17 сентября в 9:58

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

Аватар пользователя Mnilionic Mnilionic 19 сентября в 21:23

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

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