Socket-uri - crearea aplicației client - server

Previzualizare laborator:

Extras din laborator:

Scopul lucrării:

Studierea socket-urilor, precum şi de a realiza aplicaţia client-server.

1. Introducere

Modelul standard pentru aplicatii in retea este client-server. Serverul este un proces care asteapta ca clientii sa il contacteze. In principiu, modul de functionare pentru un astfel de sistem, este: procesul server este pornit iar acesta intra intr-o stare de asteptare pana la conectarea unui posibil client.

Procesul client este pornit se va conecta la server si va face cereri pentru anumite servicii (servicii pe care le ofera serverul). Clientul poate fi pornit pe acelasi sistem ca si serverul sau pe un altul. Urmeaza o conversatie intre client si server care se termina in momentul in care clientul a obtinut rezultatul

dorit de la server. In acel moment serverul revine la starea de asteptare dupa potentiali clienti(Figura1).

Initial

Conexiunea este inchisa

A sosit mesajul

de la un client

Figura 1 – Starile serverului

Serverul poate fi de doua tipuri:

1. iterativ – acel server care poate servii clientii intr-un timp dat (de obicei foarte scurt), clientul fiind servit chiar de procesul server.

2. concurent – tipul pentru a procesa o cerere de la client este necunoscut, in consecinta, clientii vor trebui sa fie serviti intr-o maniera concurenta. Aceasta inseamna ca respectivul process server va clona un nou proces, identic cu procesul original. Noul proces va prelua respectivul client, procesul server original revenind in starea de asteptare dupa alti clienti.

Principalele motive pentru folosirea atât de largă a asa numite arhitecturi client-server:

- stocarea informaţiei într-un singur loc, de unde poate fi redistribuită cu uşurinţă ăcătre clienţi;

- dedicarea resurselor de calcul (a serverelor) unor sarcini specifice cum ar fi spre exemplu poşta electronică – unde este implicată mutarea informaţiilor în siguranţă dintr-un punct în altul.

Ceea ce trebuie reţinut în primul rând în ceea ce priveşte marea majoritate a serviciilor de Internet este că există:

- un program (aplicaţie software) client pe de o parte;

- un program server de cealaltă parte;

- conexiuni între client şi server;

- conexiuni între mai multe servere;

- conexiuni directe între clienţi.

Procesul de transfer a fişierelor de pe server pe client poartă numele de download, iar cel invers este numit upload.

Componentele de baz ale une arhitecturi client-server sunt:

- o combinatie de front-end pe parte de client, care interactioneaza cu utilizatorul, si un server in fundal care interactioneaza cu resursa partajata;

- sarcinile front-end si back-end au in general necesitati diferite pentru a calcula viteza procesorului, memoria, viteza discului capacitatile acestuia, si dispozitivele de intrare/iesire;

- mediul este in general eterogen multivendor; platforma hardware si sistemele de operare ale clientului serverului in general nu sun aceleasi; clientul si serverul comunica printr-o interfata standard de comunicare (API) si apeluri de proceduri la distanta (RPC).

Terminologie:

Client - un program care stabileste conexiuni cu scopul de a trimite cereri.

Agent-utilizator - clientul ce initiaza o cerere (navigator, editor, robot de traversare Web).

Server - o aplicatie care accepta conexiuni, raspunzînd la anumite cereri transmise de clienti.

Un program poate juca rol atît de server, cît si de client. Cele mai cunoscute servere

(Apache, Netscape Enterprise Server, Sun Web Server, Windows NT Web Server)

Proxy (intermediar) - un program intermediar care ruleaza ca server, cît si drept client pentru a

transmite cereri altor servere. Cererile trimise unui proxy pot fi rezolvate

intern sau transmise mai departe, catre alte servere (posibil translatate).

Poarta - un server care lucreaza ca intermediar pentru alte servere, în mod transparent,fiind si

un translator de protocoale.

Tunel - un program intermediar functionînd ca mijlocitor între doua conexiuni.

Cache - un depozit local de memorare a mesajelor (datelor) de raspuns si un subsistem de

control al acestuia. Memoria cache reduce timpul de raspuns si congestia retelei.

Orice client si server poate include un cache.

2. Socket-uri

Cele mai folosite metode de comunicare client-server, din punct de vedere al programatorilor (API – Aplication Program Interface) sunt: socket-uri Berkeley si TLI (System V Transport Layer Protocol). In continuare se va discuta exclusiv despre socket-uri.

Socket-urile au aparut pentru prima data in jurua anului 1982. Socket-urile sunt create explicit, utilizate si puse in functiune de catre aplicatii.

Observații:

Universitatea Tehnică

Facultatea Calculatoare, Informatică si Microelectronică

Catedra Automatică şi Tehnologii Informaţionale

Download gratuit

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

Structură de fișiere:
  • Socket-uri - Crearea Aplicatiei Client - Server.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
8.5/10 (2 voturi)
Nr fișiere:
1 fisier
Pagini (total):
10 pagini
Imagini extrase:
10 imagini
Nr cuvinte:
2 357 cuvinte
Nr caractere:
14 545 caractere
Marime:
119.98KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Rețele
Predat:
la facultate
Materie:
Rețele
Profesorului:
Dumitru Ciorba
Sus!