static void Main(string[] args) { while (localPort < 1 || remotePort < 1) { Console.Write("Local port : "); localPort = Convert.ToInt32(Console.ReadLine()); Console.Write("Remote port : "); remotePort = Convert.ToInt32(Console.ReadLine()); } n = new ClusterNode("127.0.0.1", remotePort, localPort, ClusterHealthy, ClusterUnhealthy, MessageReceived, false); bool runForever = true; while (runForever) { Console.Write("Command [? for help]: "); string userInput = Console.ReadLine(); if (String.IsNullOrEmpty(userInput)) continue; switch (userInput) { case "?": Console.WriteLine("---"); Console.WriteLine(" q quit"); Console.WriteLine(" ? this menu"); Console.WriteLine(" cls clear screen"); Console.WriteLine(" send send message to peer"); Console.WriteLine(" sendasync send message to peer, asynchronously"); Console.WriteLine(" health display cluster health"); break; case "q": runForever = false; break; case "cls": Console.Clear(); break; case "send": Console.Write("Data: "); userInput = Console.ReadLine(); if (Send(Encoding.UTF8.GetBytes(userInput))) { Console.WriteLine("Success"); } else { Console.WriteLine("Failed"); } break; case "sendasync": Console.Write("Data: "); userInput = Console.ReadLine(); if (SendAsync(Encoding.UTF8.GetBytes(userInput))) { Console.WriteLine("Success"); } else { Console.WriteLine("Failed"); } break; case "health": Console.WriteLine("Healthy: " + n.IsHealthy()); break; } } }