1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xungen-rabbitmqconnect

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
readme.md 3.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 01:15 e5015a5

RabbitmqConnect: введение

  1. RabbitmqConnect — это простой в использовании клиент RabbitMQ, написанный на C++11.

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

  3. RabbitmqConnect представляет собой обёртку над RabbitMQ C Client, предоставляя пользователям более удобный интерфейс.

  4. RabbitmqConnect стремится к максимальной простоте использования, предоставляя только следующие методы:

    • send — отправка сообщения;
    • recv — получение сообщения;
    • login — аутентификация пользователя;
    • close — закрытие соединения;
    • connect — подключение к серверу.

Установка

  1. Скачайте исходный код с помощью команды:

    git clone https://gitee.com/xungen/rabbitmqconnect.git

  2. Включите заголовочный файл RabbitmqConnect.h в свой проект.

  3. Пример кода для отправки и получения сообщений:

    Отправка сообщения:

    RabbitmqConnect conn;

    if (conn.connect(host, port) && conn.login(user, passwd)) { cout << "Соединение с очередью сообщений успешно" << endl;

    if (conn.send(exchange, queuename, "message") < 0) {
        cout << "Сообщение отправлено успешно" << endl;
    } else {
        cout << "Ошибка при отправке сообщения" << endl;
    }

    }

    Получение сообщения:

    while (true) { RabbitmqConnect conn;

    if (conn.connect(host, port) && conn.login(user, passwd)) {
        cout << "Начало прослушивания очереди сообщений [" << exchange << "][" << queuename << "]" << endl;
    
        while (true) {
            conn.recv(exchange, queuename, [](const char* data, int len){
                string msg(data, data + len);
    
                cout << "Получено сообщение [" << msg << "]" << endl;
            });
    
            // Если соединение прервано, необходимо переподключиться
            if (conn.getErrorCode() == AMQP_STATUS_SOCKET_ERROR) break;
        }
    
        cout << "Прослушивание очереди сообщений завершилось ошибкой [" << conn.getErrorString() << "]" << endl;
    } else {
        cout << "Не удалось подключиться к очереди сообщений [" << host << ":" << port << "][" << user << "]" << endl;
    }
    
    sleep(5);

    }

Примечание: в данном переводе некоторые фрагменты исходного текста были опущены, так как они не содержали полезной информации.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xungen-rabbitmqconnect.git
git@api.gitlife.ru:oschina-mirror/xungen-rabbitmqconnect.git
oschina-mirror
xungen-rabbitmqconnect
xungen-rabbitmqconnect
master