ZeroMQ (C++): отправка указателя с помощью inprocC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 ZeroMQ (C++): отправка указателя с помощью inproc

Сообщение Anonymous »

Я пробую ZeroMQ (zmq) для многопоточной программы.
Я хочу избежать копирования данных, которые необходимо передать работникам.
Моя идея заключалась в том, чтобы отправить указатель на данные как сообщение zmq.
Это работает. Но я обнаружил, что если я меняю данные внутри воркера, то продюсер (основной) этого не видит. Интересно, почему!
Вот пример:

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 

struct Foo {
explicit Foo(int value) noexcept
: _value{value}
{}
int _value;
};

void worker(void *context)
{
void *receiver = zmq_socket(context, ZMQ_REP);
zmq_connect(receiver, "inproc://example");

std::this_thread::sleep_for(std::chrono::milliseconds(20));

zmq_msg_t message;
zmq_msg_init(&message);
zmq_msg_recv(&message, receiver, 0);

char received[sizeof(Foo *)];
std::memcpy(&received, zmq_msg_data(&message), sizeof(Foo *));

//reinterpret_cast(received)->_value = 111;
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78770967/zeromq-c-sending-pointer-with-inproc[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как отправлять запросы работникам ZeroMQ, когда маршрутизатор привязан к адресу inproc?
    Anonymous » » в форуме C++
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Как отправлять запросы работникам ZeroMQ, когда маршрутизатор привязан к адресу inproc?
    Anonymous » » в форуме C++
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как использовать транспорты inproc и ipc Zeromq?
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Переосмыслить приведение для указателя указателя
    Гость » » в форуме C++
    0 Ответы
    87 Просмотры
    Последнее сообщение Гость
  • Переосмыслить приведение для указателя указателя
    Anonymous » » в форуме C++
    0 Ответы
    103 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»