Difference between Apache Thrift and ZeroMQ

They belong to different categories primarily because they are targetted at different audiences with different concerns. Therefore they are better at different things. Apache Thrift similar to Google Protocol Buffers is intended to be high-level, reasonably well abstracted means to send data between processes on different machines, possibly in different languages. They purposefully provide an … Read more

Is ZeroMQ production ready?

I’m using it for research, so “semi-production”. It’s a wonderful framework, and the way things are architected certainly make sense once you fully grok it. But I’ve hit far too many problems to consider it production ready. I’m using jzmq, so some of this might be specific to that. Setting up jzmq on OS X … Read more

Accepting output of the socket generated by Python in MQL5

Please find a running example. Important element is to create byte object of the payload instead of string before you send as reply. socket object produces and ingests only bytes import socket import threading import sys def actual_work(data): print(data) return b’ACK’ def daemon(): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.bind((‘127.0.0.1’, 6666)) print(“Listening on udp … Read more

ZeroMQ + Protocol Buffers

If you are 100% certain that the programs that are going to communicate over ZMQ will at all times be capable of understanding each other’s binary format (eg because they are always distributed together and were all compiled with the same compiler options anyways) I see no benefit to the overhead that’s added by serialization. … Read more

Connecting to a remote IPython instance

If you want to run code in a kernel from another Python program, the easiest way is to connect a BlockingKernelManager. The best example of this right now is Paul Ivanov’s vim-ipython client, or IPython’s own terminal client. The gist: ipython kernels write JSON connection files, in IPYTHONDIR/profile_<name>/security/kernel-<id>.json, which contain information necessary for various clients … Read more

Calling OCaml-wrapped ZeroMQ code from signal handler

There are two potential problems: Inside a signal handler, you can only call asynchronous signal safe functions. Most functions are not async signal safe. The reason for the restriction is that a function could be called in the middle of the same function’s execution. Thus, internal state could be corrupted. Very few functions are async … Read more

Differences between ZeroMQ and WebSockets

A: Real-Time-Messaging is a nice tag, however You may soon realise, that once going into the territory of Real-Time, there is no justification for spending clock-cycles on wrapping any message into the XHTML-Matrjoska-in-Another-Matrjoska-inside-another-Matrjoska alike envelopes-inside-envelopes and associated inefficiencies. Real-Time struggles to operate in real time, so to spend/lose a minimum achievable time necessary to process … Read more

Memory leak when emitting messages with Socket.IO + Node.js + ZMQ

NodeJs may be use Windows Socket API ( which include memory leaks , old known bug ) https://connect.microsoft.com/VisualStudio/feedback/details/605621/winsock-c-program-causes-memory-leak The problem is the WSACleanup will never be called until you shutdown the network services. ( Mixing up ZMq or Nodejs won’t change that fact ) Now, over the time, you will lock more pages of memory … Read more

tech