ня додатків, компілювати в байт-код, що виконується віртуальною машиною. Net. Гідність даного підходу в тому, що цей байт-код можна виконати на будь-якому комп'ютері з будь-якою системою, на якій встановлена ​​віртуальна машина. Net. Завдяки цьому, додаток сервера можна запустити на великому безлічі комп'ютерів користувачів. p align="justify"> друге, даний мова володіє всіма необхідними бібліотеками для вирішення поставлених завдань - бібліотеки для роботи з потоками, сокетами (у тому числі і для широкомовного розсилання), синхронізації і т. п. Ці бібліотеки включені в склад віртуальної машини, тому користувачеві не потрібна установка ніяких додаткових бібліотек.
По-третє, для даної мови існує багатофункціональна середовище розробки Microsoft Visual Studio, завдяки якій можна швидко і зручно розробляти програми на мові C #.
В якості засобу розробки програми-сервера використовувалася Microsoft Visual Studio 2010 з кількох причин. По-перше, дана IDE містить підсвітку коду, що спрощує процес написання програми. По-друге, вона містить інструмент для автозаповнення коду. По-третє, це середовище розробки містить величезну безліч параметрів, що настроюються, завдяки чому програміст може налаштувати її найкращим для себе чином. br/>
3.2 Структура серверного програми
програмний протокол серверний клієнтський
У серверному додатку можна виділити наступні класи:
. Класи диспетчерів, керуючих робочими потоками
В· MainManager: інкапсулює в собі всі головні частини програми;
В· BroadcastManager: управляє широкомовній розсилкою пакетів по протоколу UDP;
В· ConnectManager: управляє вхідними з'єднаннями;
В· ClientsManager: управляє підключеними клієнтами;
В· ClientManager: управляє одним конкретним підключеним клієнтом.
. Класи, що містять методи, що реалізують робочу функціональність основних класів диспетчерів
В· BroadcastWorker: функції робочого потоку широкомовного розсилання;
В· ConnectWorker: функції потоку роботи з вхідними з'єднаннями (прослуховування, встановлення зв'язку);
В· ClientWorker: функції робочого потоку, яким управляє ClientManager;
. Класи пакетів
В· Packet - абстрактний клас, від якого успадковуються всі інші класи п...