{"id":19044555,"url":"https://github.com/brakmic/zeromq","last_synced_at":"2025-08-28T23:37:23.832Z","repository":{"id":35809645,"uuid":"40092038","full_name":"brakmic/ZeroMQ","owner":"brakmic","description":":rocket: Client/Server \u0026 Pub/Sub Examples with ZeroMQ \u0026 Boost","archived":false,"fork":false,"pushed_at":"2016-11-04T14:20:04.000Z","size":35,"stargazers_count":42,"open_issues_count":0,"forks_count":23,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-07-14T10:52:22.534Z","etag":null,"topics":["boost","c-plus-plus","cplusplus","cpp","zeromq"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brakmic.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2015-08-02T20:34:18.000Z","updated_at":"2024-11-23T01:01:42.000Z","dependencies_parsed_at":"2022-09-08T17:52:14.229Z","dependency_job_id":null,"html_url":"https://github.com/brakmic/ZeroMQ","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brakmic/ZeroMQ","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2FZeroMQ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2FZeroMQ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2FZeroMQ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2FZeroMQ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brakmic","download_url":"https://codeload.github.com/brakmic/ZeroMQ/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2FZeroMQ/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265879026,"owners_count":23843058,"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":["boost","c-plus-plus","cplusplus","cpp","zeromq"],"created_at":"2024-11-08T22:46:42.271Z","updated_at":"2025-07-19T03:04:09.145Z","avatar_url":"https://github.com/brakmic.png","language":"C++","readme":"**ZeroMQ with Boost under VisualStudio 2015**\n\n\nThis repository contains a VS 2015 Solution with four projects based on \u003ca href=\"http://zeromq.org/\" target=\"_blank\"\u003eZeroMQ\u003c/a\u003e examples:\n\na) **ZeroMQ Client/Server example** (server and client projects)\n\nb) **ZeroMQ Publish/Subscribe example** (server and client projects)\n\nThe PubSub example uses the \u003ca href=\"http://www.boost.org/\" target=\"_blank\"\u003eboost libraries\u003c/a\u003e for message parsing.\n\n**Compiling**\n\nTo compile the projects you'll need to compile ZeroMQ and checkout some sources. The predefined settings in the VS-Solution will expand to several paths. So take care of putting them into these ENV-variables:\n\n    ZMQ_HOME:        sources from zeromq/libzmq\n    ZMQ_CPP_HEADERS: sources from zeromq/cppzmq\n    ZMQ_LIBS:        binaries compiled from ZMQ_HOME directory\n    ZMQ_LIBSODIUM:   sources from jedisct1/libsodium (IMPORTANT: libsodium must go inside the libzmq-root directory so the ZMQ-lib can be compiled with libsodium support)\n    ZMQ_ZGUIDE:      sources from booksbyus/zguide \n\nAdditionally:\n\n* Compile *libzmq* by opening the solution under *builds/msvc/vs2015* or via batch-files under *builds/msvc/build*. As already mentioned, if you want to have libsodium support _you must checkout_ its sources inside the root directory of libzmq _before_ you compile libzmq!\n* Compile *libsodium* by using the solution under *builds/msvc/vs2015* or via batch files under *builds/msvc/build*.\n* Put the paths to the DLLs into their respective env variables (ZMQ_LIBS \u0026 ZMQ_LIBSODIUM)\n\nThis is how the path to **ZMQ-Sources* looks like on my machine:\n\n\u003cimg src=\"http://fs5.directupload.net/images/160917/8esjgj97.png\" width=\"746\" height=\"217\" border=\"3\"\u003e\n\nHere's the path to the **compiled Libsodium-binary** (notice the root directory that belongs to ZeroMQ):\n\n\u003cimg src=\"http://fs5.directupload.net/images/160917/p8wc2mab.png\" width=\"746\" height=\"217\" border=\"3\"/\u003e \n\n* Additionally insert the base path of *zguide* where the C++ helper-headers reside. This is not mandatory but these header files contain many helpful functions \u0026 macros.\n\n\u003cimg src=\"http://fs5.directupload.net/images/160917/fzw2fowk.png\" width=\"746\" height=\"217\" border=\"3\"\u003e\n\n* And this is how we reference them in our projects:\n\n\u003cimg src=\"http://fs5.directupload.net/images/160917/fes5mm3n.png\" /\u003e\n\n* ZMQ-Binaries have their own env-variable, of course. Depending on what architecture and toolset are being used the predefined variables in VS2015 will expand to their x86/x64 \u0026 Debug/Release versions.\n\n\u003cimg src=\"http://fs5.directupload.net/images/160917/8ekhuyv9.png\" width=\"746\" height=\"217\" border=\"3\"/\u003e\n\n* Here's how it looks like in VS-Project Properties:\n\n\u003cimg src=\"http://fs5.directupload.net/images/160917/lw8pk973.png\" width=\"776\" height=\"366\" border=\"3\"\u003e\n\n* The ZeroMQ **static library** is also in the list of additional dependencies.\n\n\u003cimg src=\"http://fs1.directupload.net/images/150802/gfadnb6p.png\" width=\"600\" height=\"200\" border=\"3\"\u003e\n\n* To properly run client/server apps based on ZeroMQ we need the *ZeroMQ-DLL* for **dynamic binding**. There's already a *Post-Build-Event* that'll be executed after each successful build:\n\n\u003cimg src=\"http://fs5.directupload.net/images/160917/zgmvvgm9.png\" width=\"786\" height=\"404\" border=\"3\"/\u003e\n\n\nNow, compile the sources and let ZeroMQ fly :smile:\n\n\u003cimg src=\"http://fs2.directupload.net/images/150802/iuea28nd.png\"\u003e\n\n**License**\n\n[MIT](https://github.com/brakmic/ZeroMQ/blob/master/LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrakmic%2Fzeromq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrakmic%2Fzeromq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrakmic%2Fzeromq/lists"}