КампутарыСеткі

Кліент-сервер Delphi на аснове сокетаў

Сёння застаецца вельмі актуальнай тэма ў сферы інфармацыйных тэхналогій, прысвечаная распрацоўцы і разгортванні архітэктуры «кліент - сервер». Звязана гэта з тым, што інфармацыйныя сістэмы розных маштабаў знаходзяць усё большае прымяненне ў розных галінах. Акрамя таго, структура любой базы дадзеных ствараецца па пэўных параметрах, прычым такім чынам, што працаваць з ёй у штатным рэжыме магчыма толькі з ужываннем адмысловых прыкладанняў. Таму рэалізацыя архітэктуры «кліент - сервер» - вельмі важная задача, якая ўзнікае перад аддзеламі інфармацыйных тэхналогій на розных аб'ектах, паспяховае вырашэнне якой дасць магчымасць працаваць прадпрыемству аптымальна і бесперабойна.

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

Сервер, які працуе па пратаколе сокетаў, дазваляе адначасова апрацоўваць запыты ад вялікай колькасці карыстальнікаў. Пры гэтым адміністратар у любы момант часу можа ўнесці карэктывы ў налады, каб увесці абмежаванне на колькасць адначасова якія абслугоўваюцца карыстальнікаў. Па змаўчанні гэты параметр не ўтрымлівае абмежаванняў.

Пасля падлучэння кліента да сервера адкрываецца асобны канал з сокетам, па якім адбываецца абмен дадзенымі. Аднак найбольш аптымальным і бяспечным з'яўляецца разгортванне для кожнага новага падлучэння спецыяльнага асобнага працэсу.

Схема працы архітэктуры «Кліент - сервер»

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

1. Уласцівасці ServerType і Port. Для таго каб карыстальнік меў магчымасць падлучыцца да сервера, важна гарантаваць, каб порт, які выкарыстоўваецца як серверам, так і кліентам супадаў. Менавіта прызначэнне дадзенага параметру вырабляецца ва ўласцівасці Port. Тып падлучэння вызначаецца параметрам ServerType.

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

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

Прымяненне TServerSocket ў прыкладаннях на мове Delphi «Кліент - сервер»

Для адпраўлення і прыёму інфармацыі ад карыстальніка выкарыстоўваюцца падзеі OnClientWrite і OnClientRead. Пры гэтым ўзаемадзейнічаць з карыстальнікам можна праз такі параметр, як ClientSocket. Пры працы часта выкарыстоўваюцца наступныя метады і ўласцівасці:

- колькасць падлучаных ў бягучы момант карыстальнікаў;

- колькасць актыўных працэсаў;

- лік свабодных працэсаў;

- порт, хост-імя і лакальны IP-адрас;

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

У заключэнне звернем увагу на часта ўжываецца адмысловая ўласцівасць - Data. Гэта ўласцівасць ўжываецца ў наступнай сітуацыі. Як правіла, сервер выкарыстоўваецца для абслугоўвання вялікай колькасці карыстальнікаў, а значыць, ёсць неабходнасць захоўваць звесткі аб кожным кліенце, прычым гэтую інфармацыю трэба прывязаць да пэўнага сокету. У падобных сітуацыях выкарыстанне ручной прывязкі вельмі нязручна, а таму шырока ўжываецца ўласцівасць Data. Аднак важна памятаць, што Data - гэта паказальнік, а таму важна абавязкова праверыць, ці выкананыя ўсе правілы працы з паказальнікамі (указанне тыпу, вылучэнне памяці і г.д.)

дакументацыя

На сённяшні дзень літаратуры па распрацоўцы прыкладанняў «кліент - сервер» Delphi, звязанай з распрацоўкай і прымяненнем сокетаў, прадстаўлена вельмі мала. Таму для дэталёвага вывучэння дадзенага аспекту можна звярнуцца да дакументацыі па Linux і Unix-сістэмам, бо у ёй дастаткова падрабязна разглядаецца тэхналогія разгортвання прыкладанняў з ужываннем сокетаў, аднак, як правіла, на мовах Perl ці З ++.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.delachieve.com. Theme powered by WordPress.