Как я могу установить hwm в шаблоне push / pull в zmq?

Я нашел похожий вопрос,ZeroMQ: HWM на PUSH не работает, но это не могло решить мою проблему.

Я хочу контролировать количество сообщений, которые помещаются в пуш-сокет, но это не работает и все еще помещает в очередь 1000 сообщений.
Поэтому я хочу знать, как установить hwm push-сокета. Заранее спасибо.

Моя среда: libzmq 4.0.4, pyzmq 14.1.0, python 3.3

Вот мой код:

server.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import random

import zmq


class TestPush(object):

    def __init__(self):
        self.ctx = zmq.Context()

        random.seed()

    def run(self):
        task_snd = self.ctx.socket(zmq.PUSH)
        task_snd.setsockopt(zmq.SNDHWM, 10)
        task_snd.bind('tcp://*:53000')        

        while True:
            workload = str(random.randint(1, 100))
            task_snd.send(workload.encode('utf-8'))
            print('Send {0}'.format(workload))


if __name__ == '__main__':
    test_push = TestPush()
    test_push.run()

client.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import time
import random

import zmq


class TestPull(object):

    def __init__(self):
        self.ctx = zmq.Context()

    def run(self):
        task_rcv = self.ctx.socket(zmq.PULL)
        task_rcv.setsockopt(zmq.RCVHWM, 1)
        task_rcv.connect('tcp://localhost:53000')

        while True:
            msg = task_rcv.recv()
            print('Receive msg: {0}'.format(msg))

            time.sleep(random.randint(2, 3))


if __name__ == '__main__':
    test_pull = TestPull()
    test_pull.run()

Ответы на вопрос(1)

Ваш ответ на вопрос