Я пытаюсь настроить "инвертированный" PUB / SUB с ZeroMQ.
означает, что подписывающиеся (SUB) сокеты принадлежат нескольким долгоживущим серверам, делая zmq_bind()
; и публикация (PUB) сокета является недолговечным клиентом и делает zmq_connect()
.
Я использую одну ipc://
розетку.
Я ожидаю, что сообщение от издателя достигнет каждого из подписчиков.
Проблема: только один из процессов подписчика получает сообщения. Если этот процесс умирает, издатель застревает в zmq_term()
.
Этот режим операций поддерживается zmq? Если да, то что я делаю не так? Если нет, то как реализовать то, что мне нужно?
Минимальный пример с некоторыми дополнительными деталями (в Lua, но это не должно иметь значения): https://gist.github.com/938429