При смене адреса 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));