"Thanks for CZMQ, whose clean interfaces and succinct usage have me excited to program in C again!" — Joe Eli McIlvain
Ø High-level C binding for ZeroMQ.
Ø All-round Slice of Heaven for C developers.
Ø Supports libzmq v2.x, v3.x, and v4.x.
Ø Open source under MPL v2 license.
Ø Commercial support ask for at the zeromq-dev mailing list
#include <czmq.h>
int main (void)
{
zsock_t *push = zsock_new_push ("inproc://example");
zsock_t *pull = zsock_new_pull ("inproc://example");
zstr_send (push, "Hello, World");
char *string = zstr_recv (pull);
puts (string);
zstr_free (&string);
zsock_destroy (&pull);
zsock_destroy (&push);
return 0;
}
If you're new to ZeroMQ, read the Guide
These classes provide the main socket and message API:
Ø zsock: working with ZeroMQ sockets (high-level)
Ø zstr: sending and receiving strings
Ø zmsg: working with multipart messages
Ø zframe: working with single message frames
Ø zactor: Actor class (socket + thread)
Ø zloop: event-driven reactor
Ø zpoller: trivial socket poller class
Ø zproxy: proxy actor (like zmq_proxy_steerable)
Ø zmonitor: monitor events on ZeroMQ sockets
These classes support authentication and encryption:
Ø zauth: authentication actor for ZeroMQ servers
Ø zcert: work with CURVE security certificates
Ø zcertstore: work with CURVE security certificate stores
These classes provide generic containers:
Ø zhash: simple generic hash container
Ø zhashx: extended generic hash container
Ø zlist: simple generic list container
Ø zlistx: extended generic list container
These classes wrap-up non-portable functionality:
Ø zbeacon: LAN discovery and presence
Ø zclock: millisecond clocks and delays
Ø zdir: work with file-system directories
Ø zdir_patch: work with directory differences
Ø zfile: work with file-system files
Ø zsys: system-level methods
Ø zuuid: UUID support class
Ø ziflist: list available network interfaces
And these utility classes add value:
Ø zchunk: work with memory chunks
Ø zconfig: work with textual config files
Ø zrex: work with regular expressions
Ø zgossip: decentralized configuration management