欢迎访问Ningto's博客

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

ZMQ DEMO 请求应答模式

最后更新 2021-05-26 16:22:57   阅读量 943

Table of Contents

  • 1. 介绍
  • 2. 示例说明
  • 3. 代码

请求应答模式

介绍

这是最基本的一个模式,很常用,一个请求一个应答,发送和接收必须配对。

示例说明

客户端发送一个字符串,然后接收服务端的应答;
服务端收到字符串后将其转换为大写返回给客户端;

代码

客户端

#include "zmq.hpp"
#include <string>
#include <iostream>
#include <algorithm>

int main()
{
    zmq::context_t context(1);
    zmq::socket_t socket(context, ZMQ_REQ);
    socket.connect("tcp://127.0.0.1:7733");

    std::string msg("hello");
    socket.send(zmq::const_buffer(msg.c_str(), msg.size()));
    std::cout << "request:" << msg << std::endl;

    zmq::message_t recv_msg;
    socket.recv(recv_msg);
    std::cout << "response:" << recv_msg.to_string() << std::endl;
    
    system("pause");
    return 0;
}

服务端

#include "zmq.hpp"
#include <string>
#include <iostream>
#include <algorithm>

int main()
{
    zmq::context_t context(1);
    zmq::socket_t socket(context, ZMQ_REP);
    socket.bind("tcp://127.0.0.1:7733");
    while (1) {
        try {
            zmq::message_t msg;
            socket.recv(msg);

            std::string str_msg = msg.to_string();
            std::cout << "recv:" << str_msg << std::endl;
            std::transform(str_msg.begin(), str_msg.end(), str_msg.begin(), ::toupper);

            zmq::const_buffer buffer(str_msg.c_str(), str_msg.size());
            socket.send(buffer);
            std::cout << "send:" << str_msg << std::endl;
        } catch (zmq::error_t &e) {
            std::cerr << "error:" << e.what() << std::endl;
            zmq_sleep(1);
        }
    }
    return 0;
}
(转载本站文章请注明作者和出处:泞途 - ningto.com)

下一篇 – 业界消息总线技术分析-ZeroMQ
上一篇 – ZMQ DEMO 发布订阅模式-进程内

  1. 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