欢迎访问Ningto's博客

Menu
  • 首页
  • 归档
  • 关于
  • 书签
  • 必应壁纸
  • IT聚合
  • 工具
    • 我的工具列表
    • 我的网盘
    • 必应每日壁纸API
    • Html转Markdown
    • 仙尘光标
Menu

qpid C++接口简单封装

最后更新 2019-04-12 09:57:21   阅读量 2011

Table of Contents

  • 1. 处理队列请求
  • 2. 接收订阅消息
  • 3. 发送同步消息
  • 4. 发送异步消息
  • 5. 推送消息
  • 6. 源码

qpid C++接口简单封装

希望简单的封装能满足大部分场景,并且简单易用。

处理队列请求

如果我想处理某个队列的消息我只需要指定一个队列名和回调处理函数就可以了

server.AddQueueServer("pingpong", [](const Message &msg, Message &reply) {
    std::cout << std::this_thread::get_id() << " msgid:" << msg.getMessageId() << ",reply:" << msg.getContent() << std::endl;
    reply = msg;
});

如果一个处理不过来可以循环调用上面函数多次,每个新增都是在一个单独的线程上处理,相当于多个线程在消费qpid上的消息

接收订阅消息

跟处理队列类似,订阅没有应答

server.AddTopicServer("ningtotopic", [](const Message &msg) {
    std::cout << std::this_thread::get_id() << " msgid:" << msg.getMessageId() << ",reply:" << msg.getContent() << std::endl;
});

发送同步消息

参数依次是:队列名、请求消息、应答消息、超时时间

bool SendMsg(const std::string &name, const Message &requestMsg, Message &responseMsg, int milliseconds = 1000);

发送异步消息

参数依次是:队列名、请求消息、超时时间秒、应答回调

bool PostMsg(const std::string &name, const QMsgPtr &msg, int second, const ResponseCallback &cb);

推送消息

参数依次是:topic、发送的消息

bool PublishMsg(const std::string &topic, const Message &msg);

源码

github源码

(转载本站文章请注明作者和出处:泞途 - ningto.com)

下一篇 – linux 简单服务启动、关闭脚本
上一篇 – 本站鼠标滑动效果(仙尘光标)

  1. C/C++
  2. MQ

toningto@outlook.com

推荐文章

Effective Python

Python的几种函数参数类型

标签云

Mac React Database Qt Node.js Javascript Product C/C++ Python Bug Tools Windows Linux Tips Design Go IOS MongoDB Shell Android Mobile Life Java Web MQ Others Boost

推广链接

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

多谢支持,用了好几年,服务很稳定支持多设备!

其他

文章RSS

Copyright © 2016 Welcome To Ningto Blog | 鄂ICP备17003086号-2