Dear 0MQ developers,
For some months I've been trying to get the Paranoid Pirate & Majordomo patterns working so that I may study their operation and implement the principles in some new development work I have in mind. What I would like to achieve is relatively simple. . Using 0MQ networking I would like several sources (REQ?) of time-series data to pass any accumulated time series data history to a central point (ROUTER?). . When the accumulated data history has been passed then the sources would pass real time updates to the central point; as and when the new data are generated. . I would like the data flows to be asynchronous and that the data sources 'push' data to the central point. . It is important that no data is lost due to slow joiner syndrome. It is also important that the data arrives in the correct order; otherwise the data will be gobbledegook. . A facility to detect when data sources have died/gone away, heartbeating. . Preferably to I'd like to work in C++; it's familiar. . Windows 7 compatibility is essential, I am tied to using Windows it is where the data sources will run. In working through the problems getting Paranoid Pirate & Majordomo to work I came to suspect that the problem lay in the REQ-ROUTER connection which is present in both the Paranoid Pirate and Majordomo patterns. This stackoverflow question explains some of approaches I've tried: Stackoverflow question <http://stackoverflow.com/questions/24597251/zeromq-issues-with-example-netw orking-patterns-paranoid-pirate-and-majordomo> I even tried building CZMQ on Windows 7 so that I could try the C language original versions of the Paranoid Pirate & Majordomo patterns. Have you tried building CZMQ on Windows; it's just a nightmare? The provided Visual Studio solution file just didn't work and the instructions are practically non-existent. Searching the internet for help found rocket scientists <http://lists.zeromq.org/pipermail/zeromq-dev/2013-October/022981.html> proposing cross compilation as the solution; but where to start with that? Really should it be that difficult? All I could see there was another month of lost weekends. So all in all that was a dead end. Seeking answers & further investigating REQ-ROUTER I discovered this example: simple req2Router example <http://thisthread.blogspot.co.uk/2012/05/very-simple-req-router-example.htm l> and built it into a working Windows program. The cpp & header file code for it are here req2Router cpp file <http://pastebin.com/g66mzGm9> and zmq2.h header file <http://pastebin.com/yti8jUEc> . What I discovered was that this simple req2Router program would function properly when linked against zeromq-2.2.0 but would not function when linked against zeromq-3.2.3 or zeromq-4.0.4. N.B. When running tests I ensured that the corresponding libzmq.dll file was used from the relevant version of zeromq. Could this be the problem in getting the Paranoid Pirate & Majordomo examples to work; that the example code is zeromq version dependant? Does anyone know why this might be the case? What has changed between versions which would affect the REQ-ROUTER functionality? I really am stuck and getting tangled with this and am losing time to it. I cannot move forward with the plan I have in mind until I can get working implementations of Paranoid Pirate, Majordomo & Asynchronous Majordomo on Windows as a foundation on which to build. It's doubly difficult because I want to learn from the examples but debugging them at the same time is testing to say the least. Is anyone able to help get these examples working with the latest versions of zeromq on Windows, not just for my sake but also for the next person who tries? Surely I can't be the only person who needs or wants to try this? With thanks, Riskybiz.
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
