ZMQ::LibZMQ3 and AnyEvent
file: bin/anyevent_req_rep_hello_world_server.pl @c3e99e4d
1: #!/usr/bin/env perl
2: use 5.016;
3: use ZMQ::LibZMQ3;
4: use ZMQ::Constants qw(ZMQ_REP ZMQ_FD);
5: use AnyEvent;
6:
7: my $context = zmq_init();
8: my $server = zmq_socket($context, ZMQ_REP);
9: zmq_bind($server, 'tcp://*:10001');
10: my $fd = zmq_getsockopt( $server, ZMQ_FD );
11:
12: my $w = AnyEvent->io(
13: fh => $fd,
14: poll => "r",
15: cb => sub {
16: my $msg = zmq_msg_data(zmq_recvmsg($server));
17: say "server got >$msg<";
18: zmq_send( $server, "Hello $msg!" );
19: say "replied with >Hello $msg!<";
20: },
21: );
22: AnyEvent->condvar->recv;