static void Main(string[] args) { Console.Title = "Simple Server"; String.Format("Simple Server Started listing on {0}", port).title('='); SimpleSender sndr = new SimpleSender(); Receiver rcvr = new Receiver(port, address); rcvr.StartService(); while(true) { Message msg = rcvr.getMessage(); Console.Write("\n Simple Server received:"); Utilities.showMessage(msg); if (msg.content == "done") { Console.WriteLine(); rcvr.shutDown(); sndr.shutdown(); break; } if (msg.content == "connection start message") continue; msg.content = "Simple Server received: " + msg.content; Utilities.swapUrls(ref msg); if(sndr.goodStatus == true) { #if (TEST_WPFCLIENT) ///////////////////////////////////////////////// // The statements below support testing the // WpfClient as it receives a stream of messages // - for each message received the Server // sends back 1000 messages // int count = 0; for (int i = 0; i < 1000; ++i) { Message testMsg = new Message(); testMsg.toUrl = msg.toUrl; testMsg.fromUrl = msg.fromUrl; testMsg.content = String.Format("test message #{0}", ++count); Console.Write("\n sending testMsg: {0}", testMsg.content); sndr.sendMessage(testMsg); } #else ///////////////////////////////////////////////// // Use the statement below for normal operation sndr.sendMessage(msg); #endif } else { Console.Write("\n closing\n"); rcvr.shutDown(); sndr.shutdown(); break; } Console.WriteLine(); } }
static void SimpleSender() { using (var simpleSender = new SimpleSender()) { simpleSender.Initialize(); simpleSender.Send("Hello World"); var task = Task.Run(async() => { for (int i = 1; i < 11; i++) { await Task.Delay(i * 300); simpleSender.Send(i.ToString()); } }); task.Wait(); Console.WriteLine("Press [enter] to exit"); Console.ReadLine(); } }