如何使用zeromq(zmq)在服务器和客户端之间发送整数值?

时间:2018-01-22 14:24:58

标签: c++ zeromq

我有一个带有zmq(ZeroMQ)lib的C ++服务器和客户端代码。我想将整数值发送给客户端。

我已经阅读了zmq的手册,但是从服务器到客户端发送除char数组之外的任何内容都有问题。

任何人都可以帮我解决这些问题吗? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

您只需要一种消息格式。

尺寸效率将是一个结构:

发送方

struct Message
{
  uint32_t one;
  uint64_t two;
};

Message msg;
msg.one = 1;
msg.two = 20;
send(&msg, sizeof(Message));

或者,如果你想要更灵活的东西,你可以发送json等

接收方:

假设您使用cppzmq标头

Message* msg;
zmq::message_t zmsg;
sock->recv(&zmsg);
msg = (Message*)zmsg.data();
int one - msg->one;