зок. Коли клієнт під'єднується до сервера, що прослуховує сокет не припиняє очікування запитів від клієнтів. Сервер продовжує прослуховувати можливі запити від інших клієнтів. p align="justify"> Всі функції роботи з сокетами описані в заголовному файлі winsock2.h. Для успішної збірки програми необхідно вказати бібліотеки ws2_32.lib. Для початку роботи з мережею необхідно проініціалізувати бібліотеку ws2_32. Для цього використовується наступна функція: int WSAStartup (unsigned int wVersionRequested, struct WSAData * lpWSAData). p align="justify"> При завершенні роботи з сокетами необхідно викликати функцію int WSACleanup (), яка завершує роботу програми з бібліотекою гнізд Ws2_32. При успішному виконанні функція повертає 0. Якщо сталася помилка, повертається ненульове значення. br/>
1.2 Сервер
Для того щоб процеси-клієнти могли зв'язатися з сервером, сервер створює сокет для обміну даними. Сокет являє собою особливий вид файл, з якого можна читати і в якій можна записувати дані. Створення сокета увазі виклик функції socket. p align="justify"> Далі здійснюється отримання локальної адреси, щоб всі запити на з'єднання, що приходять на дану ЕОМ і які звертаються до вказаного порту, операційна система спрямовувала даному процесу. Здійснюється виклик функції bind, в якій вказується створений раніше сокет, IP-адреса ЕОМ і порт. У разі успіху сервер викликає функцію listen, яка говорить операційній системі про те, що процес очікує надходження запитів на з'єднання до даного сокету. p align="justify"> Коли клієнт викликає функцію connect, серверу приходить запит на з'єднання. Для того щоб програма змогла вести обмін даними з клієнтами і одночасно продовжувати роботу, сервер створює копію сокета. Таким чином створюється нова нитка, створювана за допомогою функції _beginthread. p align="justify"> Далі здійснюється обмін даними. Сервер пов'язаний з БД, звідки і береться необхідна інформація. Використовується СУБД MS Access. Після прийому даних вони дешифруються. p align="justify"> По закінченні роботи з клієнтом серверний процес закриває свою копію сокета і знищується.
1.3 Клієнт
Для з'єднання клієнту так само як і серверу необхідно створення сокета.
Підключення здійснюються тільки тоді, коли той процес очікує прийому з'єднання. Для установки з'єднання необхідно вказати IP-адресу ЕОМ і порт, тобто використовувати функцію connect. p align="justify"> Далі здійснюється прийом даних. Перед здійсненням передачі дані шифруються. На приймаючій стороні отримані дані дешифруються. p align="justify"> Розрив з'єднання здійснюється за допомогою функції close, яка знищує сокет.
2. Розробка системи передачі даних в локальної обчислювальної мережі
2.1 Аналіз вимог