Socket-uri - crearea aplicației client - server

Laborator
9/10 (3 voturi)
Domeniu: Rețele
Conține 1 fișier: doc
Pagini : 10 în total
Cuvinte : 2357
Mărime: 119.98KB (arhivat)
Publicat de: Victor Dumitrascu
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Dumitru Ciorba
Universitatea Tehnică Facultatea Calculatoare, Informatică si Microelectronică Catedra Automatică şi Tehnologii Informaţionale

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.

Preview document

Socket-uri - crearea aplicației client - server - Pagina 1
Socket-uri - crearea aplicației client - server - Pagina 2
Socket-uri - crearea aplicației client - server - Pagina 3
Socket-uri - crearea aplicației client - server - Pagina 4
Socket-uri - crearea aplicației client - server - Pagina 5
Socket-uri - crearea aplicației client - server - Pagina 6
Socket-uri - crearea aplicației client - server - Pagina 7
Socket-uri - crearea aplicației client - server - Pagina 8
Socket-uri - crearea aplicației client - server - Pagina 9
Socket-uri - crearea aplicației client - server - Pagina 10

Conținut arhivă zip

  • Socket-uri - Crearea Aplicatiei Client - Server.doc

Alții au mai descărcat și

Comunicarea în rețea - aplicație client-server

CAPITOLUL 1. INTRODUCERE Încă din 1945, când a început era calculatoarelor şi până în 1985, calculatoarele erau foarte mari şi costisitori. Chiar...

Arhitectura platformei de dezvoltare Net Framework

Platforma Microsoft .NET Framework introduce multe concepte, tehnologii si termeni roi. Scopul acestui capitol este de a realiza o prezentare a...

Arhitecturi de Rețea

Topologii de baza " Magistrala (bus) " Stea (star) " Inel (Ring) " Topologii hibride " Magistrala  Stea " Daisy chained " Structura...

Introducere în rețele de calculatoare

INTRODUCERE ÎN RETELE DE CALCULATOARE CE ESTE O RETEA EVOLUTIA RETELELOR TERMINOLOGIE Mesaje Modele structurale de retea Tipuri si dimensiuni...

Rețele TCP/IP

PROTOCOALE BAZATE PE CONFIRMARE SI RETRANSMISIE PENTRU NIVELUL DE CONTROL AL LEGATURII DE DATE La baza protocoalelor pentru nivelul (de control...

Rețele Locale fără Fir

1. Introducere - Retelele de calculatoare wireless (fara fir) sunt destinate, aplicatiilor unde instalarea de cabluri nu este posibila sau acolo...

Te-ar putea interesa și

Sistem de comandă cu Raspberry PI

1. Introducere Într-o lume din ce în ce mai automatizată mașinăriile joacă un rol foarte important în viața oamenilor. Omenirea a căutat...

Tehnologia Bluetooth

Tehnologia Bluetooth În prezent există multe exemple de comunicaţie digitală pe distanţe scurte în ceea ce priveşte computerele, dispozitivele de...

Limbajul Java pe Internet

ADNOTARE Cuvinte cheie: Java, Server, Client, URL, RMI, JSP, JSF, applet. Limbajul Java a aparut datoritã necesitãtii rezolvãrii problemelor...

Programarea Aplicațiilor de Rețea

ABSTRACT: La nivelul transport, internetul are două protocoale principale: User Datagram Protocol (UDP, neorientat - conexiune) si Transmission...

Sistem de comunicație client server

Introducere In cadrul acestui proiect am realizat un sistem de comunicatie client server bazat pe socket TCP,fire de executie si interfata grafica...

Efectuarea unui Client-Server

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...

Ai nevoie de altceva?