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

Ссылка скопирована
1 ответ

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

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

3.1, 3.6

  • XMPP (prosody, ejabberd

    ... openfire

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

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Андрей PHP Ответ

    Для создания сервера мгновенных пользовательских сообщений можно использовать технологию 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})

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно