{"id":13419239,"url":"https://github.com/zeromq/zmqpp","last_synced_at":"2025-05-16T09:06:51.686Z","repository":{"id":851346,"uuid":"2208913","full_name":"zeromq/zmqpp","owner":"zeromq","description":"0mq 'highlevel' C++ bindings","archived":false,"fork":false,"pushed_at":"2022-07-05T19:21:13.000Z","size":5750,"stargazers_count":438,"open_issues_count":48,"forks_count":196,"subscribers_count":36,"default_branch":"develop","last_synced_at":"2024-10-13T14:46:04.505Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://zeromq.github.io/zmqpp","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeromq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-15T09:01:14.000Z","updated_at":"2024-09-28T05:59:55.000Z","dependencies_parsed_at":"2022-08-16T11:10:34.128Z","dependency_job_id":null,"html_url":"https://github.com/zeromq/zmqpp","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fzmqpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fzmqpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fzmqpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fzmqpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeromq","download_url":"https://codeload.github.com/zeromq/zmqpp/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501558,"owners_count":22081528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:13.215Z","updated_at":"2025-05-16T09:06:46.678Z","avatar_url":"https://github.com/zeromq.png","language":"C++","funding_links":[],"categories":["TODO scan for Android support in followings","C++"],"sub_categories":[],"readme":"# Introduction\n\n## Library / Bindings\n\nThis C++ binding for 0mq/zmq is a 'high-level' library that hides most of the\nc-style interface core 0mq provides. It consists of a number of header and\nsource files all residing in the zmq directory, these files are provided under\nthe MPLv2 license (see LICENSE for details).\n\nThey can either be included directly into any 0mq using project or used as a\nlibrary. A really basic Makefile is provided for this purpose and will generate\nboth shared and static libraries.\n\nThere are a number of unit tests covering the code but in no way should the\ntests be considered complete.\n\n## Command-Line Client\n\nThere is also a command line client that can be used to test or even bridge\nzmq connections. The client is built on top of the libzmqpp bindings.\n\n# Feature Requests\n\nIf there is any missing features from the current versions of ZeroMQ that you\nwish to use please raise an issue against this project, or even a pull request.\n\nGenerally I've only added things as I need them but I'm always happy to improve\nthe feature set as people require.\n\n# Contributing\n\nContribution to this binding is welcome and it is suggested using pull requests\nin github that will then be reviewed and merged or commented on. The full\ncontribution is outlined on the zmq site (http://zeromq.org/docs:contributing)\n\nPlease feel free to add yourself to the AUTHORS file in an alphanumerically\nsorted way before you raise the pull request.\n\n# Documentation\n\nMost of the code is now commented with doxygen style tags, and a basic\nconfiguration file to generate them is in the root directory.\n\nTo build the documentation with doxygen use\n\n    doxygen\n\nAnd the resulting html or latex docs will be in the docs/html or docs/latex\ndirectories.\n\n\n# libzmqpp\n\nThere is a Makefile provided which will build, test and install the binding on\na GNU Linux system. I have not tested it on anything other than Ubuntu since\n11.04 and Centos 5 and 6.\n\nThe install process will only install headers and the shared object to the\nsystem. The archive will remain in the build directory.\n\nThe tests for the binding (make check) require the boost unittest framework to\nhave been installed however these do not need to be built or run to install\nthe library itself.\n\n## Requirements\n\nZeroMQ 2.2.x or later. We recommend to use ZeroMQ \u003e= 3.\nC++11 compliant compiler. (g++ \u003e= 4.7)\n\nThe command line client and the tests also require libboost.\n\n\n## Installation\n\nInstallation can be done by the standard make \u0026\u0026 make install. If the boost\nunittest framework is installed, check and installcheck can be run for sanity\nchecking. To use ZMQ4 security feature install libsodium and libzmq --with-libsodium\nas shown below before ZMQPP.\n\n    # Build, check, and install libsodium\n    git clone git://github.com/jedisct1/libsodium.git\n    cd libsodium\n    ./autogen.sh \n    ./configure \u0026\u0026 make check \n    sudo make install \n    sudo ldconfig\n    cd ../\n    # Build, check, and install the latest version of ZeroMQ\n    git clone git://github.com/zeromq/libzmq.git\n    cd libzmq\n    ./autogen.sh \n    ./configure --with-libsodium \u0026\u0026 make\n    sudo make install\n    sudo ldconfig\n    cd ../\n    # Now install ZMQPP\n    git clone git://github.com/zeromq/zmqpp.git\n    cd zmqpp\n    make\n    make check\n    sudo make install\n    make installcheck\n\nThe most commonly useful overrides are setting CXX, to change the compiler\nused, and PREFIX to change install location. The CXX prefix should be used on\nall targets as the compiler version is used in the build path. PREFIX is only\nrelevant for the install target.\n\n## Debugging\n\nThe makefile defaults to a production ready build, however a debug version can\nbe build by passing CONFIG=debug to the make command. In debug mode there is\nless optimisations and a number of sanity check assert statements. If you are\nnot using the installed library the sanity check effect is governed by the\ndefining of NDEBUG.\n\n\n# zmqpp\n\nThe make file can also build and install a client tool called zmqpp. To build\nthis tool add the step;\n\n    make client\n\nBefore the install stage. The install target will install the client to the\nbinaries directory if it has been built.\n\n## Usage\n\nThe client is a command line tool that can be used to listen or send to 0mq\nsockets. Its very basic so don't expect anything clever. zmqpp --help will list\ndetails about the possible flags it can take;\n\n    Usage: zmqpp [options] SOCKETTYPE ENDPOINT\n    0mq command line client tool.\n    SOCKETTYPE is one of the supported 0mq socket types.\n      pub, pull, push, rep, req, sub\n    ENDPOINT is any valid 0mq endpoint.\n\n    Connection Options:\n      -a [ --annotate ]            annotate output with direction\n      -b [ --bind ] arg            bind to specified endpoint\n      -c [ --connect ] arg         connect to specified endpoint\n      -d [ --detailed ]            increased level of information displayed\n      -x [ --exit-when-no-input ]  don't wait for (streamed) input; exit on zero \n                                   message\n      -s [ --singlepart ]          treat each line as a new message\n      -v [ --verbose ]             display output sent over socket to stderr\n\n    Miscellaneous Options:\n      --version             display version\n      --help                show this help page\n\nMultiple uses of -c or -b are allowed to connect or bind to multiple endpoints,\nif neither is specified the connect is assumed for endpoint ENDPOINT.\n\nFor send capable sockets entering text on standard in and pressing return will\ncreate a message part, with an empty part (double newline) marking the end of a\nmessage. If singlepart is enabled then the message is sent after each newline\non the input stream.\n\nThe default flags will allow you to pipe data from one instance of zmqpp to\nanother and so bridge between zmq sockets.\n\n# Licensing\n\nBoth the library and the associated command line client are released under the\nMPLv2 license.\n\nPlease see LICENSE for full details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeromq%2Fzmqpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeromq%2Fzmqpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeromq%2Fzmqpp/lists"}