Исключение ввода-вывода: «Невозможно прочитать данные из транспортного соединения: установленное соединение было прервано программным обеспечением на вашем хост-компьютере».
Код был скопирован из учебника, и я уверен, что эта ошибка связана с моей собственной машиной. Все мои брандмауэры, ESET и Windows, отключены. Клиенты подключаются через порт 55555.
редактирование:
Клиент
static void Main(string[] args)
{
MakeClientCallToServer("test");
MakeClientCallToServer("test2");
MakeClientCallToServer("test3");
// Now send a bunch of messages...
string msg;
for (int i = 0; i < 100; i++)
{
msg = string.Format(Thread.CurrentThread.CurrentCulture,
"I'll not be ignored! (round {0})", i);
ThreadPool.QueueUserWorkItem(new
WaitCallback(MakeClientCallToServer), msg);
}
Console.WriteLine("\n Press any key to continue... ");
Console.Read();
}
static void MakeClientCallToServer(object objMsg)
{
string msg = (string)objMsg;
MyTcpClient client = new MyTcpClient(IPAddress.Loopback, 55555);
client.ConnectToServer(msg);
}
Сервер
static MyTcpServer server;
static void Main(string[] args)
{
ThreadPool.QueueUserWorkItem(RunServer);
Console.WriteLine("Press esc to stop the server...");
ConsoleKeyInfo cki;
while (true)
{
cki = Console.ReadKey();
if (cki.Key == ConsoleKey.Escape)
{
break;
}
}
}
static void RunServer(object stateInfo)
{
//Initiate the server)
server = new MyTcpServer(IPAddress.Loopback, 55555);
server.Listen();
}
Я уже создал классы с именами MyTcpServer и MyTcpClient для обработки всех общих соединений, потоков и т. Д.