ZeroMQ core engine in C++, implements ZMTP/3.0
C++ M4 C CMake Shell Makefile Other
Latest commit b2e8a90 Jul 20, 2016 @bluca bluca committed on GitHub Merge pull request #2064 from garlick/issue_2051
Problem: getifaddrs can fail with ECONNREFUSED
Failed to load latest commit information.
RELICENSE Problem: relicense statement from imatix is in the wrong place Apr 29, 2016
builds Problem: parameter %1 set hard to build target and prevents the skipp… Jul 4, 2016
doc Problem: update zmq_setsockopt doc with new flag name Jun 3, 2016
include Fix compilation with mingw64 using autotools Jun 1, 2016
m4 Problem: Coverage option broken with LLVM GCOV May 9, 2016
packaging Problem: inadvertently deployed nuget package without tweetnacl enabled. May 13, 2016
perf Merge pull request #1764 from GreatFruitOmsk/master Feb 3, 2016
src Problem: getifaddrs can fail with ECONNREFUSED Jul 20, 2016
tests [tests/testutil.hpp] Problem: wrong windows.hpp path Jul 12, 2016
tools Problem: copyright year is still 2015 Jan 28, 2016
.gitignore Add missing Git ignores. Jun 20, 2016
.hgeol Line-ending conversion rules for hg-git users and enabled use of .git… Nov 19, 2011
.mailmap Fix mailmap entry for Max Skaller Dec 11, 2015
.travis.yml Problem: Deploying release artifacts is a manual process May 9, 2016
AUTHORS Add myself to the AUTHORS file May 16, 2016
CMakeLists.txt Added dgram.cpp to CMakeLists.txt sources May 15, 2016
COPYING missing COPYING file added Feb 16, 2010
COPYING.LESSER Added note about tivotisation Jul 29, 2013
Dockerfile Add Docker support Jul 11, 2014
Doxygen.cfg Problem: No default doxygen cfg for ZeroMQ project Apr 28, 2016
FindSodium.cmake CMake: use libsodium if available, else use tweet_nacl Oct 23, 2015
INSTALL Problem: Windows build script requires edit for DevStudio version Feb 17, 2016 Problem: no unit tests for base85 or public curve functions. May 19, 2016
NEWS Updated development master to 4.2.x Oct 14, 2014 Implement a definitive cygwin target for libzmq. Dec 29, 2014 Problem: No default doxygen cfg for ZeroMQ project Apr 28, 2016 Problem: no badge in Mar 13, 2016
acinclude.m4 Problem: some configure options are confusing Feb 11, 2016
appveyor.yml Problem: Windows CI fails due to libsodium build failure Jan 14, 2016 Check for libtoolize instead of libtool on Linux Jul 31, 2015
branding.bmp Add ZeroMQ branding. Jun 12, 2012 Problem: Deploying release artifacts is a manual process May 9, 2016 Problem: Deploying release artifacts is a manual process May 9, 2016 Problem: FD_SETSIZE not set to 16k for all build definitions Jun 13, 2016
installer.ico Add ZeroMQ branding. Jun 13, 2012 m4_esyscmd_s doesnt seem to be portable across different systems Feb 7, 2011


Build Status Build status Coverage Status


The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. ZeroMQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

Building and installation

See the INSTALL file included with the distribution.


Extensive documentation is provided with the distribution. Refer to doc/zmq.html, or "man zmq" after you have installed libzmq on your system.


Development mailing list: Announcements mailing list:

Git repository:

ZeroMQ developers can also be found on the IRC channel #zeromq, on the Freenode network (


The project license is specified in COPYING and COPYING.LESSER.

libzmq is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL) as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

As a special exception, the Contributors give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you must extend this exception to your version of the library.

libzmq is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.