При смене адреса 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));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д