Почему шаблоны ZMQ PUSH/PULL и PUB/SUB ведут себя по-разному для поздних участников?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему шаблоны ZMQ PUSH/PULL и PUB/SUB ведут себя по-разному для поздних участников?

Сообщение Anonymous »

Я наблюдаю разное поведение между шаблонами ZMQ PUSH/PULL и PUB/SUB при использовании ZMQStream. Если в режиме PUSH/PULL мой PULL-сокет запускается поздно, он все равно получает сообщения, отправленные ранее. Однако в PUB/SUB, если подписчик начинает позже, он пропускает все сообщения, отправленные до подключения.
from zmq.eventloop import ioloop, zmqstream
import zmq
import time

# PUSH/PULL Example
def push_example():
context = zmq.Context()
push_socket = context.socket(zmq.PUSH)
push_stream = zmqstream.ZMQStream(push_socket)
push_socket.connect("tcp://*:5555")

# Messages get queued even if PULL isn't started yet
push_stream.send_string("Message 1") # This will be received when PULL starts

def pull_example():
context = zmq.Context()
pull_socket = context.socket(zmq.PULL)
pull_stream = zmqstream.ZMQStream(pull_socket)
pull_socket.bind("tcp://localhost:5555")
# Will receive Message 1 even though started late

# PUB/SUB Example
def pub_example():
context = zmq.Context()
pub_socket = context.socket(zmq.PUB)
pub_stream = zmqstream.ZMQStream(pub_socket)
pub_socket.bind("tcp://*:5555")

# Message will be lost if SUB isn't already listening
pub_stream.send_string("Message 1") # This will be missed by late subscriber

def sub_example():
context = zmq.Context()
sub_socket = context.socket(zmq.SUB)
sub_stream = zmqstream.ZMQStream(sub_socket)
sub_socket.connect("tcp://localhost:5555")
sub_socket.setsockopt_string(zmq.SUBSCRIBE, "")
# Will NOT receive Message 1 since started late


Подробнее здесь: https://stackoverflow.com/questions/791 ... te-joiners
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Задержка ZMQ Pub-Sub периодически возрастает
    Anonymous » » в форуме Linux
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Отсутствующие сообщения с PGM в архитектуре PUB/SUB с использованием ZMQ 4.3.6
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Отсутствующие сообщения с PGM в архитектуре PUB/SUB с использованием ZMQ 4.3.6
    Anonymous » » в форуме C++
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Gmail Pub/sub push -уведомления достигают облачного запуска, но не мое приложение Python webhook
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Gmail Pub/sub push -уведомления достигают облачного запуска, но не мое приложение Python webhook
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

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