public HostUri CreateRandom_HostUri(DiapasonChoiserData diapason) { IPAddress ip = IPAddressOperations.CreateRandomIP(Random, diapason.IP_From, diapason.IP_To); string host = ip.ToString(); HostUri result = new HostUri() { Host = host, Uri = CreateUri(diapason.Scheme, host, diapason.Port, diapason.Path, diapason.AddressFamily) }; return(result); }
public BindingList <HostUri> CreateList_HostUri(DiapasonChoiserData diapason) { BindingList <HostUri> result = new BindingList <HostUri>(); IPAddress[] ips = IPAddressOperations.CreateDiapasonIP(diapason.IP_From, diapason.IP_To); foreach (IPAddress ip in ips) { string host = ip.ToString(); result.Add(new HostUri() { Host = host, Uri = CreateUri(diapason.Scheme, host, diapason.Port, diapason.Path, diapason.AddressFamily) }); } return(result); }
private DiapasonChoiserData CreateDiapasonChoiserData() { DiapasonChoiserData result = new DiapasonChoiserData(); try { result.IP_From = IPAddress.Parse(textBox_IPFrom.Text); } catch (Exception e) { throw new Exception("Не удалось распознать IP Min"); } try { result.IP_To = IPAddress.Parse(textBox_IPTo.Text); } catch (Exception e) { throw new Exception("Не удалось распознать IP Max"); } if (result.IP_From.AddressFamily != result.IP_To.AddressFamily) { throw new Exception("Версии IP должны быть одинаковыми"); } if (new BigInteger(result.IP_From.GetAddressBytes().Reverse().ToArray()) > new BigInteger(result.IP_To.GetAddressBytes().Reverse().ToArray()) ) { throw new Exception("Значение Min IP должено быть не больше Max IP"); } try { if (textBox_Port.Text == "") { result.Port = null; } else { result.Port = Convert.ToUInt16(textBox_Port.Text); } } catch (Exception e) { throw new Exception("Значение порта должно быть от 0 до 65535. \r\n Или отсутствовать."); } result.AddressFamily = result.IP_From.AddressFamily; result.Scheme = textBox_Protocol.Text; result.Path = textBox_Path.Text; return(result); }