/ / Delphi socket alapú kliens / szerver

Delphi Socket alapú klienskiszolgáló

Ma a téma továbbra is nagyon aktuális a területeninformációs technológia, amely a kliens-szerver architektúra fejlesztésére és telepítésére szolgál. Ennek oka az a tény, hogy a különböző méretű információs rendszereket egyre szélesebb körben alkalmazzák a különböző területeken. Ezen túlmenően bármely adatbázis szerkezete bizonyos paraméterek szerint készül, és úgy, hogy normál üzemmódban csak speciális alkalmazások használatával lehessen vele dolgozni. Ezért a kliens-szerver architektúra megvalósítása nagyon fontos feladat a különböző létesítmények informatikai részlegei előtt, melynek sikeres megoldása lehetővé teszi a vállalkozás optimális és gördülékeny működését.

Socket alapú szerver

Socket szerverlehetővé teszi nagyszámú felhasználó kérésének egyidejű feldolgozását. Ebben az esetben a rendszergazda bármikor módosíthatja a beállításokat annak érdekében, hogy korlátozza az egyidejűleg kiszolgált felhasználók számát. Alapértelmezés szerint ez a paraméter nem tartalmaz korlátozást.

Miután az ügyfél csatlakozik a szerverhez, megnyílikkülön csatorna egy aljzattal, amelyen keresztül adatcsere történik. Mindazonáltal a legoptimálisabb és legbiztonságosabb, ha minden új kapcsolathoz külön külön folyamatot telepítünk.

Az "kliens - szerver" architektúra sémája

Tekintsük részletesebben az architektúra megvalósítási diagramját, szekvenciálisan elemezve a gyakran használt definíciókat:

1. A ServerType és a Port tulajdonságai.Ahhoz, hogy a felhasználó csatlakozhasson a szerverhez, fontos, hogy a szerver és a kliens által használt port ugyanaz legyen. Ennek a paraméternek a célja a Port tulajdonságban történik. A kapcsolat típusát a ServerType paraméter határozza meg.

2. Az aljzat megnyitásának folyamata. A kliens/szerver munkamenet indításához fontos, hogy nyissa meg a socketet és a portot. A Listen tulajdonság használatban van.

3.Továbbá adatcsere történik a felhasználóval. Leállításkor a kliens megszakítja a kapcsolatot. A rendszergazda megfelelő paranccsal a szerver befejezi a munkáját, megszakítja az összes létrehozott kapcsolatot, és leállítja az új kapcsolatokra való várakozás folyamatát.

A TServerSocket használata a Delphi Client-Server alkalmazásokban

Információk küldéséhez és fogadásáhozfelhasználó az OnClientWrite és OnClientRead eseményeket használja. Ebben az esetben egy paraméteren, például a ClientSocketen keresztül léphet kapcsolatba a felhasználóval. Munka közben gyakran használják a következő módszereket és tulajdonságokat:

- a jelenleg csatlakoztatott felhasználók száma;

- az aktív folyamatok száma;

- a szabad eljárások száma;

- port, gazdagépnév és helyi IP-cím;

- konnektor feloldása és blokkolása.

Befejezésül figyeljünk a gyakranaz alkalmazott speciális tulajdonság a Data. Ez a tulajdonság a következő helyzetben érvényes. A szervert általában nagyszámú felhasználó kiszolgálására használják, ami azt jelenti, hogy minden kliensről információt kell tárolni, és ezeket az információkat egy adott sockethez kell kötni. Ilyen helyzetekben a kézi kötés használata nagyon kényelmetlen, ezért a Data tulajdonságot széles körben használják. Fontos azonban megjegyezni, hogy az adat egy mutató, ezért fontos ellenőrizni, hogy a mutatókkal való munkavégzés minden szabálya teljesül-e (típusjelzés, memóriafoglalás stb.)

A dokumentáció

A mai napig a fejlesztésről szóló irodalomNagyon kevés Delphi kliens/szerver alkalmazás kapcsolódik socket fejlesztéshez és használatához. Ezért ennek a szempontnak a részletes tanulmányozásához tekintse meg a Linux és Unix rendszerekre vonatkozó dokumentációt, mivel részletesen tárgyalja az alkalmazások socketek használatával történő telepítésének technológiáját, de általában Perl vagy C ++ nyelveken.