Hálózat létrehozása socket-alapú programok
Létrehozása többfelhasználós alapuló alkalmazások foglalat.
Munka az interneten. gyakran találkozunk mindenféle többfelhasználós alkalmazások. Lehetnek e-mail kliens, chat-szobák, fórumok, FTP-kliens, stb Mindezen alkalmazások munkájuk mindenféle protokoll: FTP, POP, SMTP, HTTP, stb Azonban az alap számukra egyetlen protokoll - TCP / IP.
Tipikus azonos TCP / IP alkalmazás épül egy kliens-szerver architektúra. Egy példa az alkalmazás épül ez az építészet, a valós idejű chat. Ebben a cikkben megpróbálunk létrehozni egy chat-Borland Delphi jelenti. Erre a célra, szükségünk van a komponensek TClientSocketi TServerSocket (1.). Azért választottuk a komponensek, ha dolgozik a TCP / IP protokollt használja a socket felületen. De mielőtt kialakul a chat elmagyarázzuk, mi az aljzatok.
(Ábra. 1) Elhelyezkedés TClienSocket alkatrészek és TServerSocket
Sockets - egy olyan alkalmazás programozási felület TCP / IP hálózati alkalmazásokhoz. A foglalatok interfész jött létre a nyolcvanas években a UNIX operációs rendszert. Később, a socket interfész került át a Microsoft Windows. Sockets még mindig használják alkalmazások a TCP / IP hálózatokon. Az angol szó „foglalat” - aljzat, azaz hálózati alkalmazások foglalat. virtuális terminálok közötti adatok csere. Aljzatok három csoportba sorolhatók: az ügyfél. hallgat és a szerver.
Ügyfél socket kommunikálni a szerverrel, adatokat cseréljen velük. A kliens komponenst tartalmazza aljzat T C lientSocket. Socket fogadja a kapcsolatokat kérésére a kliens socket. és csatlakozik a szerver a kliens. Socket tartalmazza TServerSocket komponens. Socket szerver kommunikál a kliens segítségével egy meglévő (Socket) kapcsolat.
Azt viszont például. Mi lesz a két alkalmazás: szerver és kliens. Chat fog működni az az elv - egy szerver és több ügyfél. Az ügyfél küld egy üzenetet a szervernek, a szerver küld el ezt az üzenetet más ügyfelek, azaz a ügyfelek üzeneteket váltani egymással a szerveren keresztül. Írni chat, akkor hozzon létre két projekt: a szerver és a kliens.
Hozzon létre egy szerver
Készítsen egy űrlapot, és adja hozzá a bemutatott alkatrészek a 2. ábrán.

A FormCreate meghatározott eljárást a port, amelyen keresztül a kommunikáció fog bekövetkezni. Ezután TServerSocket megkezdi működését. A felvezető „Exit” gombot, a szerver leállítása. Befejezése után a program, akkor nagyon fontos, hogy le TServerSocket és lezárja a kapcsolatot. Továbbá, az eseménykezelő OnClienRead. TServerSocket feidoigozókomponensében adat érkezik az ügyfél. OnClienRead esemény akkor generálódik, ha adatokat fogad a kliens. Ez mind meg kell vizsgálni, ha a fejlődő egy ügyfél. Fordítsd kapcsolati kialakított alkalmazást.
eljárás TForm1.ServerSocket1ClientRead (Sender: TObject;
Aljzatba. TCustomWinSocket);
var
S: String;
I: integer;
kezdődik
S. = InTtoStr (Socket.SocketHandle) + '>' + Socket.ReceiveText;
ListBox1.Items.Add (S);
For i. = 0 ServerSocket1.Socket.ActiveConnections - 1 do
socket azonosító. küldött egy üzenetet, majd.>
ha ServerSocket1.Socket.Connections [i]. SocketHandle <> Socket.SocketHandle majd
ServerSocket1.Socket.Connections [i]. SendText (S);
végén;
Vevő létrehozása
Készítsen egy űrlapot, és adjunk hozzá komponenseket, amint azt a 3. ábrán látható.

ClientSocket1.Active. = True;
végén;
eljárás TForm1.ClientSocket1Read (Sender: TObject;
Aljzatba. TCustomWinSocket);
Az adatok feldolgozása a szerver
>
kezdődik
Listbox1.Items.Add (Socket.ReceiveText);
végén;