/// <summary> /// Main program entry /// </summary> /// <param name="args"></param> static void Main(string[] args) { Console.Write("\nStarting CommService write client"); Console.Write("\n =============================\n"); Console.Title = "Project 2 Requirements Testing"; BasicRequirementTest clnt = new BasicRequirementTest(); clnt.processCommandLine(args); string localPort = Util.urlPort(clnt.localUrl); string localAddr = Util.urlAddress(clnt.localUrl); Receiver rcvr = new Receiver(localPort, localAddr); if (rcvr.StartService()) rcvr.doService(rcvr.defaultServiceAction()); Sender sndr = new Sender(clnt.localUrl); // Sender needs localUrl for start message Message msg = new Message(); msg.fromUrl = clnt.localUrl; msg.toUrl = clnt.remoteUrl; Console.Write("\nSender's url is {0} \n", msg.fromUrl); Console.Write("\nAttempting to connect to {0}\n", msg.toUrl); if (!sndr.Connect(msg.toUrl)) { Console.Write("\n could not connect in {0} attempts", sndr.MaxConnectAttempts); sndr.shutdown(); rcvr.shutDown(); return; } string key = ""; clnt.TestR2(ref msg, sndr, ref key); clnt.TestR3(ref msg, sndr); clnt.TestR4(ref msg, sndr, key); clnt.TestR5(ref msg, sndr); clnt.TestR6(ref msg, sndr); clnt.TestR7A(ref msg, sndr); clnt.TestR7B(ref msg, sndr); clnt.TestR7C(ref msg, sndr); clnt.TestR7D(ref msg, sndr); clnt.TestR7E(ref msg, sndr); clnt.TestR8(ref msg, sndr); clnt.TestR9(ref msg, sndr); Util.waitForUser(); // Wait for user to press a key to quit. rcvr.shutDown(); // shut down this client's Receiver and Sender by sending close messages sndr.shutdown(); Console.Write("\n\n"); }