мне было интересно, если есть способ поднять события на новой подписку на издатель розеткуZeroMQ гнезда издателя - поднять событие по подписке
Например:
PublisherSocket publisher = new PublisherSocket();
publisher.Bind("tcp://*:5555");
NetMQPoller poller = new NetMQPoller { publisher };
poller.RunAsync();
poller.OnSubscription += topic =>
{
AddToPool(topic);
};
Task.Factory.StartNew(() =>
{
SubscriberSocket sub = new SubscriberSocket();
sub.Connect("tcp://127.0.0.1:5555");
Thread.Sleep(1000);
sub.Subscribe("A");
}, TaskCreationOptions.LongRunning);
publisher.ReceiveReady += Publisher_ReceiveReady;
Конечно, OnSubscription
Безразлично «На самом деле, существует, но мне было интересно, есть ли что-то в этом роде.
Мне нужен мой сервер, чтобы знать все подписки.
я, хотя около двух способов его реализации:
Создание дополнительного маршрутизатора сокет на сервере, все подписки будут отправлены как в гнездо издателя и к маршрутизатору сокетом (отменяют подписку, а). Это позволит мне опросить подписки с маршрутизатора.
Не использовать издателя/подписчика вообще, создать все механизмы pubsub с маршрутизатором/дилером.
Что бы вы мне посоветовали?
Как указано в руководстве zeroMQ, невозможно отслеживать подписки, но посмотрите на [Advanced Pub-Sub-Pattern] (http://zguide.zeromq.org/page:all#Reliable-Pub-Sub -Clone-Pattern) вы найдете шаблон Reliable-Pub-Sub (Clone), который использует второй разъем ROUTER/DEALER для достижения того, что вы хотите – dwonisch