Пакет Symfony для предоставления пользователям возможности пересылать сообщения друг другу - PullRequest
0 голосов
/ 04 октября 2018

Я занимаюсь разработкой веб-приложения, которое должно позволять пользователям отправлять друг другу сообщения.Это должно работать таким образом, чтобы, когда пользователь подключен к сети и отправлял сообщение, то, если получатель подключен к сети, он получал уведомление на экране и мог знать, что получил сообщение (без необходимости обновления страницы)

Сообщение должно быть частью цепочки сообщений, а не электронной почтой (хотя один из способов уведомить пользователей, которые не вошли в систему, - это отправить им электронное письмо)или мне нужна комбинация Symfony и JS для обновления веб-страницы пользователей в реальном времени?

Я смотрел на такие вещи, как rabbitMQ и FOSmessageBundle, но я не понял, как они могут заставить меняуведомление пользователя обратно в открытый сеанс пользователя.

Мысли или руководство приветствуются.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Предпочтительной технологией обмена сообщениями в реальном времени является Websocket

Пожалуйста, позвольте мне познакомиться с основным рабочим процессом websocket.

Давайте возьмем foo и bar в качестве примера пользователей

Рабочий процесс чата

  • foo установить соединение с веб-сокетом server
  • bar установить соединение с веб-сокетом server
  • foo отправить hello сообщение в соединении
  • server получило сообщение и транслировать на bar's соединение
  • Bar принять сообщение из полезной нагрузки соединения и отобразить его

На стороне клиента - javascript, у вас нет выбора IMHO

На стороне сервера вы можете сделать это на PHP

Я предлагаю вам не такизвестная, но хорошая, библиотека под названием Woketo .

Среда JS узла более распространена, главным образом потому, что узел js лучше, чем PHP с асинхронными вещами.Он также использует меньше памяти для каждого процесса

Не стесняйтесь спрашивать:)

0 голосов
/ 05 октября 2018

Я недавно создал такую ​​функциональность, она довольно проста.Я использовал этот пакет, который выполняет функции pub / sub и обеспечивает правильную работу ваших веб-сокетов.Единственное, что вы должны сделать сами, - это записать сообщения в базу данных (если хотите) и сделать так, чтобы каждый паб / подпункт указывал друг на друга, чтобы сообщения передавались от одного пользователя другому.

GOS RATCHETПАКЕТ

...