Курсовая работа: Розробка програмного забезпечення системи збору даних про хід та параметри технологічного процесу

ClientThread, (LPVOID)iNumClients, 0, &iThreadId);

sockInfo[iNumClients].time = time(NULL);

iNumClients ++ ;

LeaveCriticalSection (&cs);

}

else

{

LeaveCriticalSection (&cs);

shutdown(sockAccept, SD_BOTH);

closesocket(sockAccept);

}

}

return 0;

Алгоритм контролю часу клієнтів працює в залежності від типу клієнта. Якщо це КОМ, то timeout дорівнює 1 хвилині, інакше це 10 хвилин.

while (1)

{

dwWaitState = WaitForSingleObject(hEvent, timeToSleep);

if (dwWaitState == WAIT_OBJECT_0)

break;

EnterCriticalSection (&cs);

for (i = 0; i< iNumClients; i++)

{

if ((sockInfo[i].typeSender == 5) || (sockInfo[i].typeSender == 0))

{

if ((time(NULL) - sockInfo[i].time)>600)

{

DeleteSockInfo(i , 1);

}

}

К-во Просмотров: 972
Бесплатно скачать Курсовая работа: Розробка програмного забезпечення системи збору даних про хід та параметри технологічного процесу