因为ZEROMQ底层是C,有些C++的绑定其实不太好用,所以我个人用的都是C语言的版本,因为C/CPP也可以混写
服务器
#include<iostream>
#include<zmq.h>
#include<string>
using namespace std;
int main(){
void *context=zmq_ctx_new();
void *socket=zmq_socket(context,ZMQ_REP);//设定服务器为reply
int rc=zmq_bind(socket,"tcp://*:5555");
while(true){
char buffer[10];
zmq_recv(socket,buffer,10,0);
cout<<buffer<<endl;
zmq_send(socket,buffer,10,0);
}
return 0;
}
客户端
#include<iostream>
#include<zmq.h>
#include<string>
using namespace std;
int main(){
void* context=zmq_ctx_new();
void* socket=zmq_socket(context,ZMQ_REQ);//请求REQ模式
int rc=zmq_connect(socket,"tcp://127.0.0.1:5555");
while(true){
char buffer[10];
cin>>buffer;
zmq_send(socket,buffer,10,0);
zmq_recv(socket,buffer,10,0);
}
}
效果