public static void Main(string[] args) { using (var context = ZmqContext.Create()) { using (var subscriber = context.CreateSocket(SocketType.SUB)) { subscriber.Connect("tcp://localhost:5556"); subscriber.Subscribe(Encoding.Unicode.GetBytes(string.Empty)); var interrupted = false; var sequence = 0L; var dict = new Dictionary <string, KvMsg>(); Console.CancelKeyPress += (s, e) => { interrupted = true; }; while (!interrupted) { KvMsg kvmsg; try { kvmsg = KvMsg.Receive(subscriber); Console.WriteLine("Received {0}", kvmsg); } catch (System.Exception) { break; } kvmsg.Store(dict); sequence++; } Console.WriteLine(" Interrupted\n{0} messages in\n", sequence); Console.ReadKey(); } } }
public static void Main(string[] args) { using (var context = ZmqContext.Create()) { using (var publisher = context.CreateSocket(SocketType.PUB)) { publisher.Bind("tcp://*:5556"); Thread.Sleep(TimeSpan.FromMilliseconds(200)); var interrupted = false; var sequence = 0L; var random = new Random((int)DateTime.UtcNow.Ticks); var dict = new Dictionary<string, KvMsg>(); Console.CancelKeyPress += (s, e) => { interrupted = true; }; while (!interrupted) { sequence++; var kvmsg = new KvMsg(sequence); kvmsg.Key = random.Next(1, 10000).ToString(); kvmsg.Body = random.Next(1, 1000000).ToString(); kvmsg.Send(publisher); kvmsg.Store(dict); Console.WriteLine("Published {0}", kvmsg); Thread.Sleep(TimeSpan.FromMilliseconds(100)); } Console.WriteLine(" Interrupted\n{0} messages out\n", sequence); Console.ReadKey(); } } }
public static void Main(string[] args) { using (var context = ZmqContext.Create()) { using (var publisher = context.CreateSocket(SocketType.PUB)) { publisher.Bind("tcp://*:5556"); Thread.Sleep(TimeSpan.FromMilliseconds(200)); var interrupted = false; var sequence = 0L; var random = new Random((int)DateTime.UtcNow.Ticks); var dict = new Dictionary <string, KvMsg>(); Console.CancelKeyPress += (s, e) => { interrupted = true; }; while (!interrupted) { sequence++; var kvmsg = new KvMsg(sequence); kvmsg.Key = random.Next(1, 10000).ToString(); kvmsg.Body = random.Next(1, 1000000).ToString(); kvmsg.Send(publisher); kvmsg.Store(dict); Console.WriteLine("Published {0}", kvmsg); Thread.Sleep(TimeSpan.FromMilliseconds(100)); } Console.WriteLine(" Interrupted\n{0} messages out\n", sequence); Console.ReadKey(); } } }