При смене адреса localhost на адрес в локальной сети выдаёт ошибку - C#

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

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

Здравствуйте, Дамы и Господа, вот рассматриваю пример (источник), там все действия происходят с localhost, при смене на адрес в локалке выдаёт ошибку "Требуемый адрес для своего контекста неверен" и закрывает консоль (еле заскринить успел, что он там пишет), как правильно поменять адрес с localhost на адрес в локалке. Пример кода привожу ниже, чтобы не переходить по ссылке.
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
 
namespace SimpleServerUsingSockets
{
    class Program
    {
        public static void Main()
        {
            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
 
            try
            {
                IPAddress localAddress = IPAddress.Parse("127.0.0.1");
 
                Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
 
                IPEndPoint ipEndpoint = new IPEndPoint(localAddress, 10001);
 
                listenSocket.Bind(ipEndpoint);
 
                listenSocket.Listen(1);
 
                // Начинаем ждать соединение – бесконечный цикл
                while (true)
                {
                    Console.WriteLine("Сервер ожидает {0}", ipEndpoint);
 
                    // Программа приостановлена. Ожидаем входящего соединения
                    // Это синхронное TCP приложение
                    Socket handler = listenSocket.Accept();
 
                    //Входящее соединение необходимо обработать
                    Console.WriteLine("Принято соединение от {0}", handler.RemoteEndPoint);
 
                    Console.WriteLine("Отправляем сообщениею..");
                    handler.Send(encoding.GetBytes("Я занят"));
 
                    // Соединение необходимо закрыть
                    Console.WriteLine("Закрытие соединение");
                    handler.Close();
                }
 
            }
            catch (Exception e)
            {
                Console.WriteLine("Произошла ошибка: {0}", e.ToString());
            }
        }
    }
}
Спасибо.
Всем спасибо, разобрался, поменял ИП на нули, всё заработало. Просто решил, что нужно указывать адрес клиента.
Хотя остался ещё один вопрос, как сделать так, чтобы в консоль выводилось ещё и само сообщение.

Решение задачи: «При смене адреса localhost на адрес в локальной сети выдаёт ошибку»

textual
Листинг программы
                    int bytesRec = handler.Receive(bytes);
                    Console.WriteLine("\nОтвет от сервера: {0}\n\n", Encoding.UTF8.GetString(bytes, 0, bytesRec));

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


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

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

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