відправки кожному потоку користувача. br/>
2.4 Функціонування клієнта
У даній главі розглядаються основні алгоритми роботи клієнта та їх особливості.
2.4.1 Пошук сервера
Для підключення до сервера клієнт повинен знати його IP-адресу та номер використовуваного порту. Оскільки розроблюваний програмний комплекс буде використовуватися в локальних мережах, то для визначення клієнтом адреси сервера можна задіяти механізм широкомовного розсилання. Цей механізм заснований на розсилці сервером по всій мережі UDP-пакетів з ідентифікаційним повідомленням певного формату. Клієнт, отримавши такий пакет, аналізує його, і, якщо отримане ідентифікаційне повідомлення еквівалентно заданому, робить висновок, що в мережі є сервер, адреса якого можна тепер отримати. p align="justify"> Якщо ж протягом певного проміжку часу клієнт не отримує жодного широкомовного пакета, або ж формат отриманого пакета не відповідає очікуваному формату, клієнт робить висновок, що необхідного сервера в даній локальній мережі не існує.
.4.2 Підключення клієнта до сервера
Після того, як клієнт отримав широкомовний пакет і дізнався адресу сервера, він може спробувати підключиться до нього. Для з'єднання з сервером і здійснення обміну даними з ним буде використовуватися протокол TCP, який гарантує, що під час з'єднання пакет буде доставлений клієнтові в будь-якому випадку. p align="justify"> Дізнавшись адресу сервера, клієнт створює TCP-з'єднання з сервером і намагається відправити йому або пакет реєстрації, або пакет входу на сервер (залежно від того, зареєстрований користувач на сервері чи ні). Якщо сервер посилає клієнтові повідомлення підтвердження, то клієнт увійшов в сервер додатки. Інакше клієнт вважає, що сталася помилка і вхід на сервер закінчився невдачею. p align="justify"> Алгоритм дій клієнта при вході на сервер зображений на малюнку 2.3.
В
Малюнок 2.3. UML-діаграма дій клієнта при вході на сервер. br/>
2.4.3 Обмін пакетами
Клієнт може відправляти на сервер три основних пакети - пакет пошуку гри, пакет ходу і пакет повідомлень. Кожен з цих пакетів генерується при спрацьовуванні певної події. Пакет пошуку ігри надсилається при повідомленні від користувача про готовність почати нову гру. Пакет ходу надсилається користувачем під час гри при вчиненні ходу. Пакет повідомлення надсилається при введенні користувачем повідомлення для відправки іншим користувачам. p align="justify"> У той же час клієнт може приймати від сервера шість різних типів пакетів - пакети результату пошуку гри, пакети ходу суперника, опитування доступності, повідомлення, входу або виходу користувача. При отриманні будь-якого з пакетів клієнт оновлює сві...