Efectuarea unui Client-Server

Previzualizare laborator:

Extras din laborator:

1.1 Noţiunea de „socket” în reţelele de calculatoare:

Socket – un conector abstract prin care un proces transmite şi primeşte date.

Socket-ul este o noţiune abstractă prin care se exprimă o privire simplificată asupra modului de funcţionare a reţelelor de calculatoare în baza protocolului TCP. Dacă considerăm că IP adresa reprezintă calculatorul la care rulează un program care efectuiază schimb de date prin reţea, iar portul reprezintă însăşi acest program, atunci socket-ul este punctul virtual în care această aplicaţie este conectată la canalul reţelei prin intermediul calculatorului. Utilizînd socket-urile aplicaţiile rulate la un calculator paote, în cadrul aceleiaşi aplicaţii, să efectueze mai multe acţiuni simultan utilizînd acelaşi IP şi port. În acest caz vor fi create socket-uri separate pentru fiecare conexiune de transmitere a datelor, atît într-o direcţie cît şi în alta.

Figura_1

Figura_1 : Reprezintă o privire generală asupra modului de funcţionare a reţelei la nivel de socket-uri.

– Reprezintă socket-urile prin care o aplicaţie rulată pe server este conectată la aplicaţii rulate pe clienenţi.

2. Utilizarea Socket-urilor.

În cele ce urmează este descris modul de creare şi funcţionare a unei aplicaţii Client-Server programată la nivel de socket. Etapele de elaborare a aplicaţiei creatre în cadrul acestei lucrări de laborator sunt deasemenea descrise mai jos.

2.1. Crearea unui socket:

Din punctul de vedere al aplicaţiilor, socket-ul nu este doar o combinaţie dintre adresa IP şi numărul portului, ci o structură de date care conţine parametrii canalului virtual de comunicaţie. La crearea unui socket programatorul sau aplicaţia terebuie să specifice:

I. Tipul formatelor de adresă care vor fi necesare în timpul utilizării socket-ului;

II. Tipul serviciului de comunicare:

a) Flux – comunicare orientată pe conexiune;

b) Datagramă – comunicare neorientată pe conexiune.

III. Protocolul utilizat:

a) TCP – pentru comunicare orientată pe conexiune;

b) UDP – pentru comunicare neorientată pe conexiune.

În cazul programuilui elaborat în cadrul acestei lucrări de laborator socket-urile utilizate au avut următorii parametri:

I. Tipul formatelor de adresă – IP Address Family;

II. Tipul serviciului de comunicare – Stream (Flux);

III. Protocolul utilizat – TCP;

(vezi crearea socketului în codul proogramului – anexa B)

După ce a fost creat, socket-ul poate fi: conectat la un socket îndepărtat sau poate trece în starea de aşteptatare ca să permită altor socket-uri să se conecteze la dînsul.

2.2. Conectarea la un socket îndepărtat:

Conectarea unui socket la altul se execută utilizînd funcţia Connect(), ca parametri se indică adresa IP şi portul la care va fi conectată aplicaţia.

În cazul programuilui elaborat în cadrul acestei lucrări de laborator socket-ul creat este conectat la alt socket în cadrul aplicaţiilor client care se conectează la server. (Vezi funcţia Connect(ipe) din cadrul codului clienţilor – codul programului, anexa B).

2.3. Asocierea socket-ului cu adresa IP şi numărul portului:

Această procedură este în special de importantă pentru aplicaţiile server. Ea permite conectarea socket-ului la mediul de comunicare pentru a aştepta interpelările clientţilor. Acţiunea în cauză este îndeplinită de către funcţia Bind(). Funcţia are nevoie de aşa parametru ca: Adresa IP (care la server poate fi indicată ca Any – fapt ce înseamnă că socket-ul serverului se poate conecta la oricare alt socket), numărul portului aplicaţiei, formatul adreselor care vor fi utilizate.

În cazul programuilui elaborat în cadrul acestei lucrări de laborator funcţia dată are ca parametru structura ipe, care reprezintă punctul terminal al reţelei din partea serverului şi conţine toţi parametrii necesari funcţiei Bind() pentru funcţionarea corectă. IP adresa utilizată la care se conectează socket-urile clienţilor este 127.0.0.1, iar numărul portului în cazul dat este 1100.

2.4. Socket-ul în stare de aşteptare:

Pentru ca un socket să poată procesa fluxul de cereri şi interpelări adresate aplicaţiei în cadul căreia a fost creat, socket-ul trebuie trecut în regimul de ascultare. Acest fapt se face cu ajutorul funcţiei Listen(). Ca parametru, fincţiei i-se indică un număr întreg care va reprezenta numărul maximal de cereri de conexiune care pot fi puse în coada de aşteptare.

În cazul programuilui elaborat în cadrul acestei lucrări de laborator funcţia Listen() este folosită în cadul aplicaţiei server; valoarea parametru indicată este 15.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Efectuarea unui Client-Server.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
9.3/10 (3 voturi)
Nr fișiere:
1 fisier
Pagini (total):
25 pagini
Imagini extrase:
11 imagini
Nr cuvinte:
2 065 cuvinte
Nr caractere:
11 963 caractere
Marime:
56.62KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Rețele
Predat:
la facultate
Materie:
Rețele
Profesorului:
Andriuta Tatiana
Sus!