Как разработать чат с помощью node js

Я хочу разработать чат с помощью узла js. Может ли кто-нибудь помочь мне, как это сделать? Варианты использования, которые я решил:

  1. Пользователь увидит ссылку или значок на экране приложения с надписью «Онлайн-чат поддержки».
  2. Нажав на нее, откроется окно чата. Либо он укажет имя агента, который находится в сети и готов, либо укажет, что агенты заняты, и изменит это состояние, как только агент станет доступным.
  3. На стороне агента будет открыто до 3 окон (от 3 пользователей), прежде чем будет сгенерировано сообщение о занятости для других пользователей. Это число (3) можно настроить.
  4. Агент получит имя экрана, с которого пользователь пингует его.
  5. Поскольку будет несколько агентов, нам нужна возможность пометить кучу экранов (или приложений) для определенного агента.
  6. Требуется механизм распределения нагрузки, при котором новый запрос направляется любому свободному агенту и привязывается к этому экрану или приложению.
  7. «Нам нужна возможность настроить сообщение о недоступности для определенных временных окон — если поддержка чата доступна, скажем, с 9:00 до 18:00 по восточному стандартному времени, мы должны иметь возможность настроить сообщение для пользователей, которые входят в систему вне этого окна, которое говорит: Поддержка в онлайн-чате доступна только между…»

Пожалуйста, посоветуйте, как действовать.


person Adeveloper    schedule 13.04.2016    source источник
comment
Это может помочь вам с основной идеей github.com/sayar/NodeMVA/tree/master/ 09_NodeChatroom   -  person Daniel Netto    schedule 13.04.2016


Ответы (1)


Вы можете использовать модуль socket.io для создания живого чата. Ознакомьтесь с этим руководством.

person Gor    schedule 13.04.2016
comment
Спасибо за ваш комментарий! Я знаю, что socket.io можно использовать, но не знаю, как это сделать с несколькими агентами. когда пользователь нажимает кнопку «Поддержка онлайн-чата», как он будет подключен к доступному агенту? Если несколько агентов будут на одном сервере или на нескольких серверах, необходимо использовать кластер. - person Adeveloper; 13.04.2016