Proiect client-server. rețele de calculatoare

Previzualizare laborator:

Extras din laborator:

Scopul lucrării

Scopul acestei lucrări este insuşirea tehnicilor de programare în reţea utilizând socket-uri.

2. Consideraţii teoretice

Calculatoarele conectate in reţea comunică între ele utilizând protocoalele TCP (Transport Control Protocol) şi UDP (User Datagram Protocol) conform diagramei:

Figura 1. Nivelele de omunicare în reţea

Pentru realizarea unor programe care comunică in reţea în java, se utilizează clasele din pachetul java.net . Acest pachet oferă clasele necesare pentru realizarea unor programe de reţea independente de sistemul de operare.

In tabelul următor sunt prezentate principalele clase care sunt utilizate pentru construirea unor programe de reţea.

Class Scop

URL Reprezintă un URL

URLConnection Returnează continutul adresat de obiectele URL

Socket Crează un socket TCP

ServerSocket Crează un socket server TCP

DatagramSocket Crează un socket UDP

DatagramPacket Reprezintă o datagrama trimisă printr-un obiect DatagramSocket

InetAddress Reprezintă numele unui pc din reţea, respectiv IP-ul corespunzător

Java oferă două abordări diferite pentru realizarea de programe de reţea. Cele două abordări sunt asociate cu clasele:

- Socket, DatagramSocket şi ServerSocket

- URL, URLEncoder şi URLConnection

Programarea prin socket-uri reprezintă o abordare de nivel jos, prin care, două calculatoare pot fi conectate pentru a realiza schimb de date. Ca principiu de baza, programarea prin socketuri face posibilă comunicarea în mod full-duplex între client şi server. Comunicarea se face prin fluxuri de octeţi.

Pentru ca comunicarea să se desfăşoare corespunzător, programatorul va trebui să implementeze un protocol de comunicaţie (reguli de dialog), pe care clientul şi serverul îl vor urma.

Definitia socket-ului: Un socket reprezintă un punct de conexiune întro reţea TCPIP. Când două programe aflate pe două calculatoare în reţea doresc să comunice, fiecare dintre ele utilizează un socket. Unul dintre programe (serverul) va deschide un socket si va aştepta conexiuni, iar celălalt program (clientul), se va conecta la server şi astfel schimbul de informaţii poate începe. Pentru a stabili o conexiune, clientul va trebui să cunoască adresa destinaţiei ( a pc-ului pe care este deschis socket-ul) şi portul pe care socketul este deschis.

Principalele operaţii care sunt facute de socket-uri sunt:

- conectare la un alt socket

- trimitere date

- recepţionare date

- inchidere conexiune

- acceptare conexiuni

3. Desfăşurarea lucrării

3.1. Program client-server

Pentru realizarea unui program client-server se utilizează clasele ServerSocket şi Socket.

Programul server va trebui să deschidă un port şi să aştepte conexiuni. In acest scop este utilizată clasă ServerSocket. In momentul în care se crează un obiect ServerSocket se specifică portul pe care se va iniţia aşteptarea. Inceperea ascultării portuli se face apelând metoda accept(). In momentul în care un client s-a conectat, metoda accept() va returna un obiect Socket.

Observații:

Aplicatie client server in C, cu documentatie, retele de calculatoare.

Download gratuit

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

Structură de fișiere:
  • Proiect Client-Server. Retele de Calculatoare.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
9/10 (3 voturi)
Nr fișiere:
1 fisier
Pagini (total):
11 pagini
Imagini extrase:
11 imagini
Nr cuvinte:
2 349 cuvinte
Nr caractere:
15 409 caractere
Marime:
17.95KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Automatică
Predat:
la facultate
Materie:
Automatică
Profesorului:
Ioan Silea
Sus!