Курсовая работа: Розробка програмного забезпечення системи збору даних про хід та параметри технологічного процесу
Програмне забезпечення КОМ виконане у середовищі Borland C++ Builder6. Використовувались блокуючі сокети.
Після ініціалізації даних, створення сокету програма входить у цикл, який завершується лише тоді, коли користувач закриє програмне забезпечення. У цьому циклі у разі будь-якої помилки при роботі з сокетами, сокет КОМ закриється та буде намагатися підключитися до серверу.
if (bConnect)
{
shutdown(sUvm, SD_BOTH);
closesocket(sUvm);
sUvm = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (!(connect(sUvm, (struct sockaddr *)&server,
sizeof(server)) == SOCKET_ERROR))
{
bConnect = 0;
bTimeSync = 1;
}
}//if
Одразу після підключення КОМ надішле запит на синхронізацію часу.
if ((!bConnect) && (bTimeSync))
{
nLeft = req.lengthPack;
idx = 0;
while(nLeft > 0)
{
ret = send(sUvm, ((char *)&req) + idx, nLeft, 0);
if (ret == SOCKET_ERROR)
{
bConnect = 1;
break;
}
nLeft -= ret;
idx += ret;