Как завершить поток, в котором исполняется чужой код? - C#
Формулировка задачи:
имеется сторонний асинхронный метод. Как получить дескриптор потока, который запускает этот метод? Как завершить уж разберусь)
Решение задачи: «Как завершить поток, в котором исполняется чужой код?»
textual
Листинг программы
int countBytes = 0;
Socket s = (Socket)ar.AsyncState; // получаем сокет, по которому пришли данные
SocketError errCode = new SocketError();
try
{
countBytes = s.EndReceive(ar, out errCode); // определяем количество полученных данных
if (countBytes == 0) // если сработало событие, но принятых данных нет - значит клиент отключился. Удаляем его
{
outLog("Client: " + strID + " is correctly OFF\r\nErrorCode: " + errCode.ToString(), VikingServer.logLevel.INFO);
stopConnection(disconnectReason.SOCKET_DICONNECT);
return;
}
addClientTrafficEvent(_id, trafficDirect.IN, countBytes);
}