// main function
        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();
            }
        }
        // main function 
    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();      }    } }}