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

Read
the Manual

Get
the Software

Join
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