Как получить IP-адрес сервера из его сокета? - C#
Формулировка задачи:
Всем добрый день. Помогите, пожалуйста, разобраться.
Есть клиент серверное приложение на сокетах. Серверная часть:
Как мне вывести на экран IP-адрес серверного сокета?
На https://msdn.microsoft.com/ru-ru/lib...eendpoint.aspx
пишут такое:
Но у меня студия ругается на запись (IPEndPoint)s.
Заранее благодарю.
serverSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, 1000);
serverSocket.Bind(ipEndPoint);
serverSocket.Listen(10);Console.WriteLine ("My local IpAddress is :" + IPAddress.Parse (((IPEndPoint)s.LocalEndPoint).Address.ToString ()) + "I am connected on port number " + ((IPEndPoint)s.LocalEndPoint).Port.ToString ());Решение задачи: «Как получить IP-адрес сервера из его сокета?»
textual
Листинг программы
foreach(NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
if(ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
{
Console.WriteLine(ni.Name);
foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
{
if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
Console.WriteLine(ip.Address.ToString());
}
}
}
}