/*
ZeroMQ的订阅服务器
*/
#include<zmq.h>
#include<iostream>
#include<unistd.h>
using namespace std;
int main(){
void *ctx=zmq_ctx_new();
void *socket=zmq_socket(ctx,ZMQ_PUB);//建立一个发布者的socket
int rc=zmq_bind(socket,"tcp://*:5556"); //订阅端口在5556
while(true){
char buf[10];
cin>>buf;
zmq_send(socket,buf,sizeof(buf),0);
}
}
/*
ZeroMQ的订阅客户端
*/
#include<zmq.h>
#include<iostream>
#include<cstring>
using namespace std;
int main(){
void *ctx=zmq_ctx_new();
void *socket=zmq_socket(ctx,ZMQ_SUB);
int rc=zmq_connect(socket,"tcp://127.0.0.1:5556");
cout<<rc<<endl;
rc = zmq_setsockopt (socket, ZMQ_SUBSCRIBE,
"i", 1); //订阅i开头的消息,例如i12312,i哈哈哈
char buf[10];
while(true){
zmq_recv(socket,buf,sizeof(buf),0);
cout<<"from server:"<<buf<<endl;
}
}
效果图
![](https://img-blog.csdnimg.cn/20200305160853113.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2R5eXpsemM=,size_16,color_FFFFFF,t_70)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)