I investigated the source code of the embedded library that implements sockets - as far as I understand both ZMQ and TCP type sockets use the same zeromq library. I didn't try to use ZMQ type sockets in my applications as I needed the server to run on pure TCP as I implemented HTTP and WebSocket protocols. As I wrote above - they worked slowly and unstable and in the end I made my implementation in C. As far as I managed to understand the whole problem was in the zeromq library. By the way, Leonid Shifrin advised me to make my own implementation too, because zeromq has many problems of its own. But the most unpleasant thing is that I have no control over what happens there, because it is a third-party library of a third-party developer.