public static void Run() { using (var publisherSocket = new XPublisherSocket()) { publisherSocket.SetWelcomeMessage("WM"); publisherSocket.Bind("tcp://*:6669"); // we just drop subscriptions publisherSocket.ReceiveReady += (sender, eventArgs) => publisherSocket.SkipMultipartMessage(); var poller = new NetMQPoller { publisherSocket }; // send a message every second var sendMessageTimer = new NetMQTimer(1000); poller.Add(sendMessageTimer); sendMessageTimer.Elapsed += (sender, eventArgs) => publisherSocket.SendMoreFrame("A").SendFrame(new Random().Next().ToString()); // send heartbeat every two seconds var heartbeatTimer = new NetMQTimer(2000); poller.Add(heartbeatTimer); heartbeatTimer.Elapsed += (sender, eventArgs) => publisherSocket.SendFrame("HB"); poller.Stop(); } }
private void DropPublisherSubscriptions(object sender, NetMQSocketEventArgs e) { // just drop the subscription messages, we have to do that to Welcome message to work _publisherSocket.SkipMultipartMessage(); }