ZeroMQ::PubSub::Server - Listen for published events and broadcast them to all connected subscribers
use ZeroMQ::PubSub::Server; my $server = ZeroMQ::PubSub::Server->new( # clients connect here to publish events publish_addrs => [ 'tcp://0.0.0.0:4000', 'ipc:///tmp/pub.sock' ], # clients connect here to subscribe to events subscribe_addrs => [ 'tcp://0.0.0.0:5000', 'ipc:///tmp/sub.sock' ], debug => 1, ); # listen for events forever { # listen for events being published to our server my $pub_sock = $self->bind_publish_socket; # set up to broadcast events to waiting subscribers my $sub_sock = $self->bind_subscribe_socket; # main processing loop while (1) { # block while we get one message my $msg = $server->recv; # deep clone $msg so that event handlers can't modify it my $orig = clone($msg); # run event handlers $self->dispatch_event($msg); # broadcast event to subscribers $server->broadcast($orig) } } # exact same as above $server->run;
ArrayRef of socket addresses to receive client event publishing requests
ArrayRef of socket addresses that clients can connect to for receiving events
Bind publish socket to publish_addrs
Listen for clients wishing to subscribe to published events
Blocks and receives one event. Returns object parsed from JSON, or undef if failure.
Sends $event to all connected subscribers.
Blocks and waits for a publish message, dispatches to event handlers, then broadcasts it to subscribers.
Runs pubsub server forever. See synopsis.
ZeroMQ::PubSub::Client, ZeroMQ::PubSub
To install ZeroMQ::PubSub, copy and paste the appropriate command in to your terminal.
cpanm
cpanm ZeroMQ::PubSub
CPAN shell
perl -MCPAN -e shell install ZeroMQ::PubSub
For more information on module installation, please visit the detailed CPAN module installation guide.