Exemple #1
0
 public TcpServerOrb(ArgParser args, BuildOrbDevice orb)
 {
     _orb       = orb;
     _converter = new ColorByteConverter();
     if (args.ServerIpAddressDetected)
     {
         ServerIpAddress = IPAddress.Parse(args.ServerAddress);
     }
     else
     {
         var ips = Dns.GetHostAddresses(args.ServerAddress);
         if (ips == null || ips.Length == 0)
         {
             args.ThrowIncorrectServerAddress(args.ServerAddress);
         }
         if (ips.Any(x => x.AddressFamily.ToString() == ProtocolFamily.InterNetwork.ToString()))
         {
             ServerIpAddress = ips.First(x => x.AddressFamily.ToString() == ProtocolFamily.InterNetwork.ToString());
         }
         else
         {
             ServerIpAddress = ips.Last();
         }
     }
     _listener = new TcpListener(ServerIpAddress, args.PortNumber);
     if (args.CountProgressColors)
     {
         _colorCounter = new ProgressColorCounter(args.ProgressColorForServer, args.SuccessColorForServer);
     }
     else
     {
         _colorCounter = new NullColorCounter();
     }
 }