Ho un sistema che consiste di due applicazioni.
Attualmente, due applicazioni comunicano utilizzando più zeromq socket di pubblicazione / sottoscrizione generati per ogni specifico tipo di trasmissione.
Le prese sono programmate in C.
Ad esempio, AppX utilizza un socket sub-sub per ricevere una struttura di informazioni da AppY e utilizza un socket editore per trasmettere blocchi di bit grezzi su AppY e lo stesso vale per AppY.
Utilizza socket pub / sub per la trasmissione e la ricezione.
Per essere chiari, AppX e AppY eseguono le seguenti comunicazioni
AppX -> AppY :
Raw bit blocks of 1kbits(continous), integer command(not continuous, depends on user)
AppY -> AppX : Information struct of 10kbits (continuous)
Il mio obiettivo è utilizzare solo un socket su ciascun lato per la comunicazione bidirezionale in modalità non bloccante.
Desidero che due applicazioni elaborino i pacchetti ricevuti in coda senza un ritardo eccessivo. Non voglio che AppX si arresti in modo anomalo dopo un AppY interrotto.
Sarebbe possibile con zeromq? Posso usare ROUTER / DEALER o altri pattern per questo lavoro?
Ho letto la guida ma non sono riuscito a capire alcuni aspetti. In realtà non ho molta esperienza con zeromq. Sarei lieto di ricevere ulteriori suggerimenti su questo problema.
I suggerimenti sono molto apprezzati.