ZMQ: Как реализовать двустороннее межпроцессное взаимодействие?
Я пытаюсь реализовать межпроцессное взаимодействие.
Модель: Часть A -> Отправка сообщений в Часть B.
Я реализовал это на примере клиент-сервер из ZMQ
учебное пособие (код прилагается ниже), но сталкиваются с проблемами, которые процесс "заблокирован".
Какова наилучшая практика для реализации этой модели?
Это не классический "Клиент-Сервер". На самом деле только одна часть отправляет данные во вторую часть, а вторая часть использует их.
Есть ли возможность отправить сообщение с тайм-аутом, чтобы оно не блокировало процесс?
Любой вклад / пример будет очень признателен!
Server:
zmq::context_t context(1);
zmq::socket_t socket(context, ZMQ_REP);
socket.bind("tcp://*:5555");
..
socket.recv(&request); // SERVER.receives first
socket.send(reply); // SERVER.sends next to Client
.. // .analyze .recv'd data
Client:
requester = context.socket(ZMQ.REQ);
requester.connect("tcp://localhost:5555");
requester.send(str.getBytes(), 0); // CLIENT.sends
byte[] reply = requester.recv(0); // CLIENT.receives