Binding with ZeroMQ

I have now arrived in the middle of the third week and I can say that I’m getting better at settling into the Irish reality that the Summer of HPC is giving me the chance to live. The initial work was mainly focused on a feasibility study and analysis of the requirements for the development of the project, and now I can claim to have the ideas a little lighter than at the beginning, although the path remains dynamic and open to changes (just like I like it!).

ZeroMQ Logo.

ZeroMQ Logo.

One of the first tools that I began to study was ZeroMQ which, citing the guide, aims to be a connector between different languages in order to convey information within ad-hoc prepared socket. This is quite convenient as it is open-source, it is widespread among many languages (and is easily extensible also to those for which there are no implementations) and through a series of compromises accurately described it allows to realize many communication patterns that don’t overlap code made, but just placed nearby, keeping the reading clear and intuitive.

Example of Hello World Server developed in C using ZeroMQ utilities.

Example of Hello World Server developed in C using ZeroMQ utilities.

The example that I want to offer is the classic example of computer kind, a very simple program on the “Hello, World!” style written in C: the server remains in constant expectation of the initial greeting by the client (-> Hello) which receive itself a response (-> World), all iterated for ten requests from the client. The example has been made following the pattern Request-Reply, where the server creates the connection (using bind() function) to which the client connects (via connect() function) to kick off the exchange of messages. Once it finishes its action, the client destroys the resources created (trough close() and ctx_destroy() functions) specifically for communication and ceases to operate.

Example of Hello World Client developed in C using ZeroMQ utilities.

Example of Hello World Client developed in C using ZeroMQ utilities.

ZeroMQ was strongly backed by Pieter Hintjens and created by iMatix, can take advantage of a strong network of online enthusiasts and developers created with the passage of time and is now at version 4.1.2, which was released in June. Next to the main there are many branched projects from secondary branches , to try to cover as many languages as possible: to date we can count supports considerable for C, PHP, Python, Lua, C ++, C #, CL, Delphi, Erlang, F #, Felix, Haskell, Java, Objective-C, Ruby, Ada, Basic, Clojure, Go, Haxe, Node.js, ooc, Perl, Scala, and many others.

If reading this article has raised any question, I remain at your disposal through the platform of the comments provided below. Good week to all!

Please follow and like us:
Tagged with: , , , , ,
0 comments on “Binding with ZeroMQ
1 Pings/Trackbacks for "Binding with ZeroMQ"
  1. […] a different choice; but since R fits well with the project which uses ZeroMQ (I refer you to the link from my previous article for more information) and since it allows, with some open-source libraries that are well developed, […]

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.