Когда клиент отсоединяется нужно поток уничтожить (остановить) - C#
Формулировка задачи:
Здравствуйте.
У меня вопрос связан с потоками C#.
Пример: Есть функция, которая для каждого клиента создает поток в котором работает с соответствующим клиентом. Когда клиент отсоединяется нужно поток уничтожить (остановить).
Но сделать это желательно из того же потока.
void AcceptRequest()
{
while (true)
{
try
{
this.clients[countClient] = server.AcceptTcpClient();
Thread clientThread = new Thread(ReceiveStart);
clientThread.Start(countClient);
countClient++;
Invoke(new UpdateDisplayDelegate(Display));
}
catch
{
// server close exeption
}
if (countClient == max_cln || _stop == true)
{
break;
}
}
}Решение задачи: «Когда клиент отсоединяется нужно поток уничтожить (остановить)»
textual
Листинг программы
List<Thread> list = new List<Thread>();
void AcceptRequest()
{
while (true)
{
try
{
this.clients[countClient] = server.AcceptTcpClient();
Thread clientThread = new Thread(ReceiveStart);
list.Add(clientThread);
clientThread.Start(countClient);
countClient++;
Invoke(new UpdateDisplayDelegate(Display));
}
catch
{
// server close exeption
}
if (countClient == max_cln || _stop == true)
{
break;
}
}
}