public virtual void SetIP(params String[] ips) { //if (ips.Length != InterfacesCount) // throw new ArgumentException("Invalid number of IP adresses"); InterfacesCount = ips.Length; InterfaceAdresses = new IPAddressWithMask[InterfacesCount]; for (int i = 0; i < ips.Length; i++) { InterfaceAdresses[i] = new IPAddressWithMask(ips[i]); } display_interfaces(); }
private Route get_route(IPAddress adress) { if (route_table == null) { return(null); } foreach (var route in route_table) { if ((route.Destination == null) || (IPAddressWithMask.IsInSameSubnet(adress, route.Destination, route.Mask))) { return(route); } } return(null); }
//Переводит состояние трассировки в строку public static string TraceToString(string sender_name, IPAddressWithMask sender_ip, int sender_port, string receiver_name, Package package) { StringBuilder sb = new StringBuilder(); sb.Append(sender_name).Append(" ("); if (sender_ip != null) { sb.Append(sender_ip); } sb.Append(":").Append(sender_port).Append(") ") .Append("sent packet ") .Append(package) .Append(" to ") .Append(receiver_name); return(sb.ToString()); }