align="justify"> False властивості Active .
OnClientConnect - виникає, коли клієнт встановив сокетних з'єднання і чекає відповіді сервера ( OnAccept );
OnClientDisconnect - виникає, коли клієнт від'єднався від сокетного каналу;
OnClientError - виникає, коли поточна операція завершилася невдало, тобто Виникла помилка;
OnClientRead - виникає, коли клієнт передав Бервер які-небудь дані. Доступ до цих даних можна отримати через пеаедаваемий параметр Socket: TCustomWinSocket ;
OnClientWrite - виникає, коли сервер може відправляти дані клієнту по сокету;
OnGetSocket - в обробнику цієї події Ви можете відредагувати параметр ClientSocket ;
OnGetThread - в обробнику цієї події Ви можете визначити унікальний процес (Thread) для кожного окремого клієнтського каналу, присвоївши параметру SocketThread потрібну підзадачу TServerClientThread;
OnThreadStart ,
OnThreadEnd - виникає, коли подзадача (процес, Thread ) запускається або зупиняється, відповідно;
OnAccept - виникає, коли сервер приймає клієнта або відмовляє йому в з'єднанні;
OnListen - виникає, коли сервер переходить в режим очікування під'єднання клієнтів.
Опис TClientSocket.
СвойстваМетодиСобитія Active - показує, відкритий сокет чи ні. Тип: Boolean. Відповідно, True - відкритий, а False - закритий. Ця властивість доступно для запису; Host - рядок (Тип: string), яка вказує на хост-ім'я комп'ютера, до якого слід підключитися; Address - рядок (Тип: string), яка вказує на IP-адреса комп'ютера, до якого слід підключитися. На відміну від Host, тут може міститися лише IP. Відмінність в тому, що якщо Ви вкажете в Host символьне ім'я комп'ютера, то IP адреса, що відповідає цьому імені буде запитаний у DNS; Port - номер порту (Тип: Integer (Word)), до якого слід підключитися. Допустимі значення - від 1 до 65 535; Service - рядок (Тип: string), що визначає службу (ftp, http, pop, і т.д.), до порту якої відбудеться підключення. Це своєрідний довідник відповідності номерів портів різним стандартним протоколам; ClientType - тип з'єднання. ctNonBlocking - асинхронна передача даних, тобто посилати і приймати дані по сокету можна одночасно з допомогою OnRead і OnWrite. ctBlocking - синхронна передача даних. Події OnRead і OnWrite не працюють. Цей тип з'єднання корисний для організації обміну даними за допомогою потоків (тобто робота з сокетом як з файлом); Open - відкриття сокета (аналогічно присвоєнню значення True властивості Active); Close - закриття сокета (аналогічно присвоєнню значення False властивості Active); OnConnect - як випливає з назви, ця подія виникає при встановленні з'єднання. Тобто в обробнику цієї події вже можна починати авторизацію або прийом/передачу даних; OnConnecting - виникає при встановленні з'єднання. Відмінність від OnConnect в тому, що з'єднання ще не встановлено. Зазвичай такі проміжні події використовуються для оновлення статусу; OnDisconnect - виникає при закритті сокета. Причому, закриття як з Вашої програми, так і з стронони віддаленого комп'ютера (або через збій); OnError - продовжує сумну тему попередньої події :). Виникає при помилку в роботі сокета. Слід зазначити, що ця подія не допоможе Вам відловити помилку в момент відкриття сокета (Open). Для того, щоб уникнути видачі віндозного повідомлення про помилку, треба укласти оператори відкриття сокета в блок try. except (обробка виняткових ситуацій); OnLookup - виникає при спробі отримання від DNS IP-адреси зазначеного хоста; OnRead - виникає, коли віддалений комп'ютер послав Вам які-небудь дані. При виникненні цієї події можлива обробка даних; OnWrite - виникає, коли Вам дозволено запис даних в сокет.
2.3 Вихідний код Сервера відповідає за мережеву взаємодію
//До сервера підключився клієнт (OnClientConnect)
var i: Integer;
{Хтось приєднався або від'єднався? Запитуємо у всіх
юзерів їх імена}. Items. Clear; i:=0 to ServerSocket1. Socket. ActiveConnections - 1...