CZMQ - High-level C Binding for ZeroMQ

"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;

the Manual

the Software

the Community

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