r n");
}
} gateway = adapterProperties.GatewayAddresses; (gateway! = null)
{(GatewayIPAddressInformation gw in gateway)
{. AppendText ("GateWay:" + gw.Address + " r n");
}
} uniCast = adapterProperties.UnicastAddresses; (uniCast! = null)
{(UnicastIPAddressInformation uni in uniCast)
{. AppendText ("IP-Address:" + uni.Address + " r n");
}
}
}
Функція ShowNetworkInterfaces, призначена для отримання та виведення інформації про мережеві адаптери, їх описі, типі, фізичному адресі. Реалізація функції ShowNetworkInterfaces: void ShowNetworkInterfaces ()
{computerProperties = IPGlobalProperties.GetIPGlobalProperties (); [] nics = NetworkInterface.GetAllNetworkInterfaces ();. AppendText ("" + computerProperties.HostName + computerProperties.DomainName + " r n" ); (nics == null | | nics.Length <1)
{. AppendText ("No network interfaces found. r n");;
} (NetworkInterface adapter in nics)
{properties = adapter.GetIPProperties ();. AppendText ("");. AppendText ("" + adapter.Description);. AppendText (" r n Type: "+ adapter.NetworkInterfaceType +" r n ");. AppendText (" Physical Address: "+ adapter.GetPhysicalAddress (). ToString () +" r n "); versions =" "; (adapter.Supports (NetworkInterfaceComponent.IPv4))
{= "IPv4";
} (adapter.Supports (NetworkInterfaceComponent.IPv6))
{(versions.Length> 0)
{+ = "";
} + = "IPv6";
}. AppendText ("IP version:" + versions + " r n"); (properties);. AppendText ("DNS suffix:" + properties.DnsSuffix + " r n");
}
}
Клас Form1 містить обробники кнопок, а також наступний метод для підключення до сервера:
private void Connection ()
{
{= Dns.GetHostName (); = new TcpClient (hostName, port); = tcpClient.GetStream ();. Enabled = true;. Enabled = true;
} (Exception e)
{. Show (e.Message);
}
}
Додаток сервера.
Розроблений клас ThreadedServer містить наступні методи:
Start () - метод запускає потік для поточного користувача, реалізація даного методу:
public void Start ()
{();
_acceptThread = new Thread (AcceptConnections);
_acceptThread.IsBackground = true;
...