zmq是一个消息队列。可以在进程内、进程间、TCP、多播中,以消息为单位传输数据,而不是socket的字节流。官方主页上有下载、使用、文档,蛮全的。
常用模式有:Request-Reply,Publish-Subscribe,Parallel Pipeline。
Request-Reply
request
- zmq::context_t context (1);
- zmq::socket_t socket (context, ZMQ_REQ);
- //Send the request
- zmq::message_t request(6);
- memcpy ((void *)request.data(), "Hello", 5);
- socket.send(request);
- //Get the reply
- zmq::message_t reply;
- socket.recv(&reply);
server
- zmq::context_t context (1);
- zmq::socket_t socket(context, ZMQ_REP);