Skip to content

Commit 8eeab5c

Browse files
committed
zmq.cpp
1 parent 9586d3b commit 8eeab5c

1 file changed

Lines changed: 24 additions & 12 deletions

File tree

section4/zmq.cpp

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,27 +26,39 @@ void case1()
2626
return zmq::socket_t(context, mode);
2727
};
2828

29-
//zmq::socket_t sock1(context, ZMQ_PUSH);
30-
auto sock1 = make_sock(ZMQ_PUSH);
29+
auto receiver = [=]()
30+
{
31+
auto sock = make_sock(ZMQ_PULL);
3132

32-
sock1.connect(addr);
33+
sock.bind(addr);
34+
assert(sock.connected());
3335

34-
auto str = "hello zmq"s;
36+
zmq::message_t msg;
3537

36-
sock1.send(begin(str), end(str));
38+
sock.recv(&msg);
3739

38-
auto sock2 = make_sock(ZMQ_PULL);
40+
cout << msg.size() << endl;
3941

40-
sock2.bind(addr);
42+
string s = {msg.data<char>(), msg.size()};
43+
cout << s << endl;
44+
};
4145

42-
zmq::message_t msg;
46+
auto sender = [=]()
47+
{
48+
auto sock = make_sock(ZMQ_PUSH);
4349

44-
sock2.recv(&msg);
50+
sock.connect(addr);
51+
assert(sock.connected());
4552

46-
cout << msg.size() << endl;
53+
string s = "hello zmq";
54+
//zmq::message_t msg(begin(s), end(s));
55+
//sock.send(msg);
56+
57+
sock.send(begin(s), end(s));
58+
};
4759

48-
string s = {msg.data<char>(), msg.size()};
49-
cout << s << endl;
60+
sender();
61+
receiver();
5062
}
5163

5264
void case2()

0 commit comments

Comments
 (0)