ZMQ_SNDHWM и ZMQ_RCVHWM всегда установлены по умолчанию

#zeromq #czmq

Вопрос:

Я пытаюсь настроить значения ZMQ_SNDHWM и ZMQ_RCVHWM на 100, но всякий раз, когда я проверяю его с помощью getsockopt (), он всегда возвращает мне 1000, что является значением по умолчанию. Я попробовал это с последней версией 4.3.4 ZMQ, и там я также получил тот же результат. Ниже приведен снимок кода, который я использую

 m_pZmqClient = CZmqClient::getInstance(); m_pZmqSock = zmq_socket(m_pZmqClient-gt;getZmqContext(), ZMQ_PUSH); zmq_setsockopt(m_pZmqSock, ZMQ_SNDHWM, amp;gSendWaterMark, sizeof(gSendWaterMark)); m_ZmqPeerHost = m_pZmqClient-gt;getNextAvailableConnection(); zmq_connect(m_pZmqSock, m_ZmqPeerHost); int rc = -1; int hwm; size_t hwm_size = sizeof(hwm); rc = zmq_getsockopt(m_pZmqSock, ZMQ_SNDHWM, amp;hwm, amp;hwm_size);  

Здесь я не предусмотрел реализацию некоторых функций, но оттуда ясно, что они делают. Пожалуйста, дайте мне знать, является ли это ошибкой в ZMQ, ИЛИ я пытаюсь установить ее или получить ее неправильным способом, ИЛИ мое понимание здесь неверно. Пожалуйста, помогите мне развеять это сомнение.