Extras din proiect
Introducere
In cadrul acestui proiect am realizat un sistem de comunicatie client server bazat pe socket TCP,fire de executie si interfata grafica Swing.
Java este un limbaj de programare orientat obiect, care,de la aparitia sa si pana in present , a fost imbunatatit continuu transformandu-se intr -un mediu de dezvoltate pentru o larga varietate de aplicatii cum ar fi aplicatii de tip client/server, aplicati internet sau aplicatii standard independente.
Java ofera, in pachetul java.net, mai multe clase pentru lucrul cu socket-uri flux (TCP). Urmatoarele clase Java sunt implicate in realizarea conexiunilor TCP obisnuite: ServerSocket, Socket. Clasa ServerSocket reprezinta socket-ul (aflat eventual pe un server bazat pe TCP) care asteapta si accepta cereri de conexiune (eventual de la un client bazat pe TCP). Clasa Socket reprezinta punctul terminal al unei conexiuni TCP intre doua masini (eventual un client si un server). Odata conexiunea stabilita, metodele getInputStream() si getOutputStream() ale clasei Socket trebuie utilizate pentru a obtine fluxuri de octeti, de intrare respectiv iesire, pentru comunicarea intre aplicatii.
Programarea cu fire de executie(multithread) este un aspect important al limbajului Java. Multithreading inseamna capacitatea unui program de a executa mai multe secvente in acelsi timp. O astfel de secventa de cod se numeste fir de executie sau thread. Java permite crearea unui thread în două moduri: implementând o clasă derivată din clasa predefinită java.lang.Thread sau definind o clasă care implementează interfaţa Runnable.
Interfata grafica (GUI), se refera la toate tipurile de comunicare vizuala între un program si utilizatorii sai. Biblioteca de clase care ofera servicii grafice se numeste java.awt, AWT fiind prescurtarea de la Abstract Window Toolkit. Printre componentele pe care le putem creea se numara ferestrele, butoanele, barele de defilare, etc. In general, toate componentele sunt definte de clase proprii ce se gasesc în pachetul java.awt, clasa Component.
Descrierea claselor si metodelor utilizate
Proiectul contine urmatoarele clase:
- Clasa ConexiuneRetea;
- Clasa ServerChatN2N;
- Clasa DialogUtilizatorS;
- Clasa ClientChatN2N;
- Clasa DialogUtilizatorC;
Clasa ConexiuneRetea
Aceasta clasa incapsuleaza tratarea conexiunilor TCP. Clasa are trei atribute care nu pot fi accesate de celelalte clase (private): socket (tip Socket), scannerTCP (tip Scanner), printerTCP (tip PrintStrem).
Aceste trei campuri sunt initializate prin intermediul unui constructor.
Clasa ConexiuneRetea apeleaza trei metode publice definite in clasele dialogutilizator:
- nextLine() ( tipul returnat este String);
- nextInt() (tipul returnat este int);
- printLine() (nu returneaza nimic);
Urmatoarel doua metode utilizate getLocalAddress() si getRemoteAddress() returneaza adresa IP; acestea apeleaza metoda getHostAddress () in biblioteca java.net.
Preview document
Conținut arhivă zip
- Sistem de Comunicatie Client Server.doc