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

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

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

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

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

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

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

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




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

Відео: Criando Chat no Delphi 7 com Sockets Client / Server

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

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

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




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

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

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

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

Відео: Популярні відео - Клієнт - сервер і Сокет

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

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

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

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



ІНШЕ

Ftp-менеджер filezilla фото

Ftp-менеджер filezilla

Відео: FileZilla - кращий FTP клієнт Програма FileZilla - це один з найкращих і стабільних FTP-менеджерів. Але головний…

Zimbra: веб-клієнт фото

Zimbra: веб-клієнт

Відео: Zimbra 8 Demo Collaboration SuiteПро веб-інтерфейсі Розширений веб-клієнт системи (Zimbra Web Client - ZWC)…

Установка bugzilla фото

Установка bugzilla

Відео: Bugzilla installation steps Система є додатком, яке реалізовано на мові Perl, і використовує для зберігання…

Thinstation як pxe-сервер фото

Thinstation як pxe-сервер

Відео: Diskless PXE booting - lab - openthinclient, vmware, server 2008, terminal services Ще одне нововведення у…

Сервер dell poweredge r420 фото

Сервер dell poweredge r420

Відео: PowerEdge R420: System Board DELL PowerEdge R420 - потужний 2-х процесорний стієчний сервер форм-фактора 1U,…

Налаштування bugzilla фото

Налаштування bugzilla

Відео: Installing Bugzilla in localhost параметри системи Після установки система використовує стандартні параметри, в…

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