测试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安装正确。