Как получить IP-адрес сервера из его сокета? - C#

Узнай цену своей работы

Формулировка задачи:

Всем добрый день. Помогите, пожалуйста, разобраться. Есть клиент серверное приложение на сокетах. Серверная часть:
            serverSocket = new Socket(AddressFamily.InterNetwork,
                          SocketType.Stream,
                          ProtocolType.Tcp);
 
            IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, 1000);

            serverSocket.Bind(ipEndPoint);
            serverSocket.Listen(10);
Как мне вывести на экран IP-адрес серверного сокета? На https://msdn.microsoft.com/ru-ru/lib...eendpoint.aspx пишут такое:
Console.WriteLine ("My local IpAddress is :" + IPAddress.Parse (((IPEndPoint)s.LocalEndPoint).Address.ToString ()) + "I am connected on port number " + ((IPEndPoint)s.LocalEndPoint).Port.ToString ());
Но у меня студия ругается на запись (IPEndPoint)s. Заранее благодарю.

Решение задачи: «Как получить 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());
           }
       }
   }  
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.667 из 5
Похожие ответы