Чтобы:
1) серверная часть биндилась на TCP/IP-сокет
2) клиенты биндились бы к серверу, получая уникальные ID (clientID), тем или иным способом авторизуясь перед этим - например, предоставляя сертификат, выписанный на CN=clientID
3) при обрыве коннекта между клиентов и сервером, сервер буферизовал бы сообщения клиенту и при следующем коннекте клиента смог бы передать их ему
4) клиенты могли бы подписываться на широковещательные каналы (cо своими channelID)
5) клиенты могли бы обмениваться между собой по уникальным ID (src_clientID and dst_clientID), либо с помощью широковещательной передачи в рамках канала
Т.е. по сути нужна достаточно умная «почтовая система», которая может доставлять «От» -> «Кому» и «От -> „Многим“.
Посмотрел ZeroMQ и что-то просто в ужас пришёл: кажется, эта штука кроме тупого клиент-сервера ничего толком не реализует. Примитивные зачатки MQ здесь - это, видимо, просто объединение нескольких клиент-серверов.
Я раньше как-то сталкивался с IBM MQ, вот мне бы что-то подобное, только бесплатно :)