にイベントを発生させる:もちろんZeroMQパブリッシャーソケット - たとえば、パブリッシャソケット</p> <p>に新しいサブスクリプションのイベントを上げる方法がある場合、私は思っていたサブスクリプション
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
doesnのを本当に存在していませんが、周りに道があるかどうか疑問に思っていました。
私のサーバーは、すべての購読を認識する必要があります。約2通りの方法がそれを実装するのに
I:
は、サーバーに追加のルータソケットを作成しますが、すべてのサブスクリプションは、パブリッシャのソケットに、ルータのソケット(unsubscriptions同様)の両方に送信されます。これにより、ルータからの購読をポーリングできます。
パブリッシャー/サブスクライバを一切使用しないで、すべてのpubsubメカニズムをルーター/ディーラーで作成します。
あなたは私に何を提案しますか?
zeroMQガイドに記載されているように、サブスクリプションを追跡することはできませんが、[Advanced Pub-Sub-Pattern](http://zguide.zeromq.org/page:all#Reliable-Pub-Sub -Clone-Pattern)あなたが望むものを達成するために2番目のROUTER/DEALERソケットを使用しているReliable-Pub-Sub(Clone)パターンを見つけるでしょう – dwonisch