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

0 ответов

Другие вопросы по тегам