Ти тут

Клієнт-сервер delphi на основі сокетів

Відео: [DELPHI] ClientSocket / ServerSocket.

Сьогодні залишається досить актуальною тема в сфері інформаційних технологій, присвячена розробці та розгортання архітектури «клієнт - сервер». Пов`язано це з тим, що інформаційні системи різних масштабів знаходять все більше застосування в різних областях. Крім того, структура будь-якої бази даних створюється за певними параметрами, причому таким чином, що працювати з нею в штатному режимі можливо тільки із застосуванням спеціальних додатків. Тому реалізація архітектури «клієнт - сервер» - дуже важливе завдання, що виникає перед відділами інформаційних технологій на різних об`єктах, успішне вирішення якої дозволить працювати підприємству оптимально і безперебійно.

Сервер на основі сокетів

Сервер, що працює по протоколу сокетів, дозволяє одночасно обробляти запити від великої кількості користувачів. При цьому адміністратор в будь-який момент часу може внести корективи в налаштування, щоб ввести обмеження на кількість одночасно обслуговуваних користувачів. За замовчуванням цей параметр не містить обмежень.

Після підключення клієнта до сервера відкривається окремий канал з сокетом, за яким відбувається обмін даними. Однак найбільш оптимальним і безпечним є розгортання для кожного нового підключення спеціального окремого процесу.

Схема роботи архітектури «Клієнт - сервер»

Розглянемо більш докладно схему реалізації архітектури, послідовно аналізуючи часто використовувані визначення:

Відео: Server Socket і ClientSocket в Delphi7



1. Властивості ServerType і Port. Для того щоб користувач мав можливість підключитися до сервера, важливо гарантувати, щоб порт, який використовується як сервером, так і клієнтом збігався. Саме призначення даного параметра проводиться у властивості Port. Тип підключення визначається параметром ServerType.

2. Процес відкриття сокета. Для початку сесії «клієнт - сервер» важливо відкрити сокет і порт. Використовується властивість Listen.

3. Далі проводиться обмін даними з користувачем. При завершенні роботи відбувається відключення клієнта. при відповідній команді системного адміністратора сервер завершує свою роботу, перериваючи всі встановлені з`єднання і припиняючи процес очікування нових підключень.

Застосування TServerSocket в додатках на мові Delphi «Клієнт - сервер»



Для відправлення та прийому інформації від користувача використовуються події OnClientWrite і OnClientRead. При цьому взаємодіяти з користувачем можна через такий параметр, як ClientSocket. При роботі часто використовуються наступні методи і властивості:

- кількість підключених в потрібний момент користувач;

- число активних процесів;

- число вільних процесів;

- порт, хост-ім`я і локальний IP-адреса;

- розблокування і блокування сокета.

На закінчення звернемо увагу на часто застосовується особлива властивість - Data. Це властивість застосовується в наступній ситуації. Як правило, сервер використовується для обслуговування великої кількості користувачів, а значить, є необхідність зберігати відомості про кожного клієнта, причому цю інформацію потрібно прив`язати до конкретного сокету. У подібних ситуаціях використання ручної прив`язки вельми незручно, а тому широко застосовується властивість Data. Однак важливо пам`ятати, що Data - це покажчик, а тому важливо обов`язково перевірити, чи виконані всі правила роботи з покажчиками (вказівка типу, виділення пам`яті і т.д.)

документація

На сьогоднішній день літератури з розробки додатків «клієнт - сервер» Delphi, пов`язаної з розробкою та застосуванням сокетов, представлено дуже мало. Тому для детального вивчення даного аспекту можна звернутися до документації по Linux і Unix-систем, тому що в ній досить докладно розглядається технологія розгортання додатків із застосуванням сокетов, однак, як правило, на мовах Perl або С ++.

Поділися в соц мережах:

Увага, тільки СЬОГОДНІ!

Схожі повідомлення


Увага, тільки СЬОГОДНІ!