64,654
社区成员
发帖
与我相关
我的任务
分享
pub.cpp #include <iostream>
#include "zhelpers.hpp"
#include "timer.h"
using namespace std;
#define within(num) (int) ((float) (num) * random () / (RAND_MAX + 1.0))
int main()
{
int rst;
void *context =zmq_init(1);
void *publisher=zmq_socket(context,ZMQ_PUB);
assert(publisher);
zmq_bind(publisher,"tcp://*:5555");
while(1)
{
sleep(5);
zmq_msg_t msg;
zmq_msg_init_size (&msg, 6);
memcpy (zmq_msg_data (&msg), "hello", 6);
rst=zmq_send (publisher, &msg,6, 0);
cout<<"result==="<<rst<<endl;
}
zmq_close(publisher);
zmq_term(context);
return 1;
}
#include <iostream>
#include "zhelpers.hpp"
#include <cstdlib>
using namespace std;
int main()
{
void *context =zmq_init(1);
void *subscriber=zmq_socket(context,ZMQ_SUB);
assert(subscriber);
int rst = zmq_setsockopt (subscriber, ZMQ_SUBSCRIBE, "MR.X ", 5);
zmq_setsockopt(subscriber, ZMQ_TCP_ACCEPT_FILTER, NULL, 0);
rst=zmq_connect(subscriber,"tcp://localhost:5555");
while(1)
{
zmq_msg_t msg;
zmq_msg_init (&msg);
cout<<"1111"<<endl;
zmq_recv (subscriber, &msg,256, 0);
cout<<"2222"<<endl;
printf ("Received %s\n", (char *)zmq_msg_data(&msg));
zmq_msg_close (&msg);
}
zmq_close(subscriber);
zmq_term(context);
return 1;
}