Готовое решение для сервера мгновенных пользовательских сообщений?

Пишу сайт сервис, смешанной архитектуре монолит + сервисы (до полноценных микрокосмосов далеко). В качестве самостоятельного сервиса у меня будет выступать сервис сообщений со своей бизнес логикой (оберткой над готовым решением). Я уверен что есть некое готовое решение, но так как я впервые сталкиваюсь с такого рода задачей, не могу определиться. Что бы хотелось от готового решения, масштабирование, сохранение истории, маркеры (прочитано, не прочитано, тебе пишут, и тд ). Обмениваться сообщениями пользователи будут только друг с другом, возможно создание комнат, но не обязательно.
Нашел пока что из готового на XMPP (prosody, ejabberd) и еще темную лошадку matrix.org, если кто то интегрировал в свой продукт эти или другие решение буду рад услышать)
П.С. Языки разработки с++ и питон.
2П.С. Пока искал конечно можно было бы свой запилить, но готовыми решения которые стабильны экономят время и нервы.

Дополнительно:

3.1, 3.6

  • XMPP (prosody, ejabberd

    ... openfire

  • .NET, SignalR, вот в этом видео об этом, с демонстрацией работы проектов, где есть общение в приватных сообщениях и в группах, или можно сказать комнатах...

  •  

    Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

     

      • Готовое решение для сервера мгновенных пользовательских сообщений?Есть ответ
      • 07.04.2024
      Ответить

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

      Для создания сервера мгновенных сообщений на PHP можно использовать библиотеку Ratchet. Ratchet позволяет легко создать WebSocket сервер с помощью PHP.

      Пример кода для создания сервера мгновенных сообщений на PHP с использованием Ratchet:

      use Ratchet\MessageComponentInterface;
      use Ratchet\ConnectionInterface;
      
      require dirname(__DIR__) . '/vendor/autoload.php';
      
      class Chat implements MessageComponentInterface {
          protected $clients;
      
          public function __construct() {
              $this->clients = new \SplObjectStorage;
          }
      
          public function onOpen(ConnectionInterface $conn) {
              $this->clients->attach($conn);
              echo "New connection! ({$conn->resourceId})

    Оставить комментарий