SYSTEM – простір імен, що містить класи, які дозволяють зіставляти коди URI з шаблонами URI і групами шаблонів URI. З цього простору були використані такі класи:
BitConverter – перетворює базові типи даних в масив байтів і масив байтів в базові типи даних.
Enum – надає базовий клас для перечислень.
EventArgs – це базовий клас для класів, які містять дані про події.
Exeption – представляє помилки, які відбуваються під час виконання додатку.
Object – підтримує всі класи в ієрархії класів .NET Framework і надає низько рівневі служби для похідних класів. Він являється вихідним базовим класом для всіх класів платформи .NET Framework і коренем ієрархії типів.
У програмі був використаний інтерфейс IAsyncResult – він представляє стан асинхронної операції. Також використовується структура Int32 – представляє ціле 32-розрядне число з знаком.
SYSTEM.COLLECTIONS– містить інтерфейси і класи, які визначають різні колекції об’єктів, такі як списки, черги, двійкові масиви, хеш-таблиці і словники.
Використані класи:
ArrayList – реалізує інтерфейс IList за допомогою масиву з динамічною зміною розміру за необхідністю.
SYSTEM.TEXT– містить класи, які представляють кодування ASCII та Юнікод, абстрактні базові класи для перетворення блоків символів в блоки байтів та на оборот і клас підтримки, який управляє об’єктами String.
Використані класи:
Encoding – представляє кодування символів.
SYSTEM.NET – представляє простий програмний інтерфейс для багатьох протоколів, які використовується в сучасних мережах.
Використані класи:
IpEndPoint – представляє мережеву кінцеву точку в вигляді ІР-адреси і номера порта.
Використаний делегат:
BindIPEndPoint – представляє метод, який вказує локальну ІР-адресу і номер порту для точки обслуговування ServicePoint.
SYSTEM.NET.SOCKETS – надає реалізацію інтерфейсу Windows Sockets (Winsock) для тих розробників, яким необхідний жорсткий контроль доступу до мережі.
Використані класи:
Socket – реалізує інтерфейс сокетів.
SocketAsyncEventArgs – представляє асинхронну операцію сокета.
Використані перечислення:
AddressFamily – задає схему адресації, яку може використовувати екземпляр класу Socket.
ProtocolType – задає протокол, який підтримує клас Socket.
SocketType – вказує тип сокету, який є екземпляром класу Socket.
У програмі були використані такі методи класу Socket:
BeginAccept(AsyncCallback, Object) – починає асинхронну операцію, щоб прийняти спробу вхідного підключення.
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) – починає виконання асинхронного прийому даних з підключеного об’єкта Socket.
BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) – виконує асинхронну передачу даних на підключений об’єкт Socket.
Bind – зв’язує об’єкт Socket з локальною кінцевою точкою.
Listen – встановлює об’єкт Socket в стан прослуховування.