ZeroMQ Размер сообщения Ограничение длины?
Предположим, что несколько машин взаимодействуют вместе с помощью клиента python's
zeroMQ.
Эти сообщения, естественно, форматируются как строки.
Есть ли ограничение на длину сообщения (строки)?
Ответы
Ответ 1
Нет ограничений на размер отправляемых сообщений, однако небольшие сообщения обрабатываются иначе, чем большие сообщения (см. здесь).
Максимальный размер небольших сообщений определяется в исходном коде на 30 байт (см. здесь, найдите ZMQ_MAX_VSM_SIZE).
Ответ 2
Без ограничений
Как и для сообщений небольшого размера, передаваемых в структурах zmq_msg_t, их предел составляет 29 байтов (для zmq версии 3.2.2)
"max_vsm_size = 29," цитируется https://github.com/zeromq/libzmq/blob/master/src/msg.hpp
Ответ 3
Существует опция сокетa > ZMQ_MAXMSGSIZE, которая приводит к отключению однорангового узла, которое отправляет негативное сообщение, но по умолчанию это "без ограничений" .
Ответ 4
Некоторые типы сокетов поддерживают до 2 ^ 64, но немного меньше 2 ^ 31.
Вы должны построить протокол, который будет хранить куски ниже этого размера в любом случае, но это реальный ответ.
https://github.com/zeromq/libzmq/issues/1332