如何使用zeromq(zmq)在服务器和客户端之间发送整数值? 我有一个C++服务器和带有ZMQ(ZrOMQ)lib的客户端代码。我想向客户端发送整数值

如何使用zeromq(zmq)在服务器和客户端之间发送整数值? 我有一个C++服务器和带有ZMQ(ZrOMQ)lib的客户端代码。我想向客户端发送整数值,c++,zeromq,C++,Zeromq,我已经阅读了zmq的手册,但是我在从服务器向客户端发送字符数组以外的任何东西时遇到了问题 有人能帮我写代码吗? 提前谢谢。您只需要一个消息格式 尺寸效率将是一个结构: 派遣方 struct Message { uint32_t one; uint64_t two; }; Message msg; msg.one = 1; msg.two = 20; send(&msg, sizeof(Message)); 或者如果你想要更灵活的东西,你可以发送json等等 接收端: 假设您使

我已经阅读了zmq的手册,但是我在从服务器向客户端发送字符数组以外的任何东西时遇到了问题

有人能帮我写代码吗?
提前谢谢。

您只需要一个消息格式

尺寸效率将是一个结构:

派遣方

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;

你只需要一个消息格式

尺寸效率将是一个结构:

派遣方

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;

非常感谢你,詹姆斯·哈维。我如何在另一端接收这个结构?那么您将接收指针和大小。然后,您只需将指针投射到您的结构和使用上。非常感谢@jamesharvey。我如何在另一端接收这个结构?那么您将接收指针和大小。然后您只需将指针投射到您的结构并使用。