Kliento-serverio Delphi, pagrįstas lizdais
Šiandien problema yrainformacines technologijas, skirtas kurti ir diegti kliento-serverio architektūrą. Taip yra dėl to, kad įvairios masto informacinės sistemos vis dažniau naudojamos įvairiose srityse. Be to, bet kokios duomenų bazės struktūra yra sukurta tam tikrais parametrais ir tokiu būdu, kad įprastą režimą galima dirbti tik naudojant specialias programas. Todėl kliento-serverio architektūros įgyvendinimas yra labai svarbi užduotis, kuri atsiranda prieš informacinių technologijų departamentus skirtingose svetainėse, kurių sėkmingas sprendimas leis kompanijai dirbti optimaliai ir sklandžiai.
Serveris pagrįstas lizdais
Serveris, kuriame veikia socket protokolasleidžia vienu metu apdoroti daugybės naudotojų užklausas. Tokiu atveju bet kuriuo metu administratorius gali atlikti koregavimus nustatymuose, kad būtų įvestas tuo pačiu metu pateiktų naudotojų skaičiaus apribojimas. Pagal numatytuosius nustatymus šiame parametre nėra jokių apribojimų.
Prisijungus klientui prie serverio,Atskiras kanalas su lizdu, kuriame keičiasi duomenys. Tačiau geriausias ir saugiausias būdas yra kiekvienam naujam ryšiui įdiegti atskirą atskirą procesą.
"Kliento serverio" architektūros schema
Išsamiau aptarkime architektūros įgyvendinimo schemą, nuosekliai analizuojame dažnai naudojamus apibrėžimus:
1. Serverio tipo ir uosto savybės. Norint, kad vartotojas galėtų prisijungti prie serverio, svarbu užtikrinti, kad tiek serverio, tiek kliento naudojamas uostas būtų vienodas. Būtent šio parametro tikslas yra padaryti "Port" nuosavybe. Ryšio tipas nustatomas parametro ServerType.
2. Lizdo atidarymo procesas. Norėdami pradėti kliento-serverio sesiją, svarbu atidaryti lizdą ir prievadą. Naudojamas "Listen" turtas.
3. Tada duomenys keičiasi su vartotoju. Uždarymo metu klientas atsijungia. Su atitinkama sistemos administratoriaus komanda serveris išeina, nutraukia visus nustatytus ryšius ir sustabdo naujų ryšių laukimo procesą.
"TServerSocket" taikymas "Delphi" programose "Klientas-Serveris"
Norėdami siųsti ir gauti informaciją išNaudojami "OnClientWrite" ir "OnClientRead" įvykiai. Tokiu atveju jūs galite bendrauti su vartotoju per tokį parametrą kaip "ClientSocket". Kai dirbate, dažnai naudojami šie metodai ir savybės:
- šiuo metu prijungtų vartotojų skaičius;
- aktyvių procesų skaičius;
- laisvų procesų skaičius;
- uostas, kompiuterio pavadinimas ir vietinis IP adresas;
- Atrakinkite ir užfiksuokite lizdą.
Baigdamas, atkreipkime dėmesį įypatingas turtas yra Duomenys. Ši nuosavybė naudojama tokia situacija. Paprastai serveris naudojamas daugybės naudotojų aptarnavimui, o tai reiškia, kad reikia saugoti informaciją apie kiekvieną klientą, ir ši informacija turi būti susieta su konkrečia lizde. Tokiose situacijose rankinis įrišimas naudojamas labai nepatogiai, todėl Duomenų nuosavybė plačiai naudojama. Tačiau svarbu prisiminti, kad Duomenys yra rodyklė, todėl svarbu patikrinti, ar visos darbo su rodyklėmis taisyklės (tipo indikacija, atminties paskirstymas ir tt)
Dokumentacija
Iki šiol vystymosi literatūra"Delphi" programos "client-server", susijusios su lizdų kūrimu ir naudojimu, yra labai nedaug. Todėl, norint išsamiai išnagrinėti šį aspektą, galite kreiptis į "Linux" ir "Unix" sistemų dokumentus, tk. jame detaliai nagrinėjama programų diegimo su "lizdais" technologija, tačiau, kaip taisyklė, tai yra "Perl" arba "C ++".