测试zmq是否安装成功:
zmqClient.cpp:
#include <zmq.hpp> #include <string> #include <iostream> int main() { zmq::context_t context(1); zmq::socket_t socket(context, ZMQ_REQ); socket.connect("tcp://127.0.0.1:5559"); for(int i=0; i !=10; i++) { zmq::message_t request(6); memcpy((void*)request.data(), "---->",5); socket.send(request); zmq::message_t reply; socket.recv(&reply); std::cout << "received Wrold"; } return 0; }
zmqServer.cpp:
#include <zmq.h> #include<iostream> using namespace std; int main() { void *context = zmq_init(1); void *responder = zmq_socket(context, ZMQ_REP); int rc = zmq_bind(responder, "tcp://*:5559"); if(rc !=0) return 0; while(1) { char buffer[10]; zmq_msg_t msg; zmq_msg_init(&msg); zmq_recv(responder, &msg, 0); cout << "received Hello" << endl; zmq_send(responder, &msg, 0); sleep(1); } return 0; }
对应得Makefile:
zmqServer: g++ -o zmqServer zmqServer.cpp -lzmq zmqClient: g++ -g -o zmqClient zmqClient.cpp -lzmq -lpthread clean: rm -rf zmqServer rm -rf zmqClient rm -rf *.o
对于的目录结构:
生成文件 zmqClient ZmqServer 运行这2个文件:
ZmqServer结果:
zmqClient 结果:
可见zmq通信成功。zmq安装正确。