I have a system which consists of two applications.
Currently, two applications communicate using multiple zeromq publish/subscribe sockets generated for each specific type of transmission.
Sockets are programmed in C.
For example, AppX uses a subcriber socket for receiving an information struct from AppY and uses a publisher socket for transmitting raw bit blocks to AppY and same applies to AppY.
It uses pub/sub sockets for transmission and reception.
To be clear AppX and AppY perform the following communications
AppX -> AppY : Raw bit blocks of 1kbits(continous), integer command(not continuous, depends on user) AppY -> AppX : Information struct of 10kbits (continuous)
My goal is to use only one socket at each side for bidirectional communication in nonblocking mode.
I want two applications to process queued received packets without an excess delay. I don't want AppX to crash after a crashed AppY.
Would it be possible with zeromq? Can I use ROUTER/DEALER or any other pattern for this job?
I have read the guide but I could not figure out some aspects. Actually I'm not well experienced with zeromq. I would be pleased to hear about additional tips on this problem.
Suggestions are highly appreciated.