20 februarie 2012

Aplicatii cu socketi TCP si UDP, Java

Prima aplicatie [1] este o aplicatie simpla cu socketi TCP, "mai multi" clienti se conecteaza la un server, trimit mesaje de "Hello", iar serverul paseaza aceste conexiuni catre un serviciu numit TCPServiceThread. Acesta preia socketul conexiunii cu clientul respectiv si ii trimite un raspuns "ACK". Serverul ruleaza pt un numar maxim de conexiuni acceptate dupa care se inchide.

In a doua aplicatie [2] apare o un obiect serializabil ce va fi trimis prin socketi (nu se mai transmite un mesaj). Clientul se conecteaza la server si primeste un obiect de tipul Persoana construit de server.

Urmatorul exemplu [3] este cu socketi UDP. Aici, spre deosebire de TCP se construiesc pachete de datagrame cu parametrii specifici (sir de trimis, limite, obiect de tip InetAddress si port). Serverul primeste datagrama si i-o paseaza serviciului pt a raspunde cu ACK.

In ultimul exemplu [4] avem 2 obiecte serializabile: Request si Response. Clientul trimite un obiect de tip Request serverului ce contine 2 numere naturale intre care trebuie aflate cate numere prime sunt. Serverul paseaza obiectul primit de la client catre un TCPServiceThread care preia conexiunea si construieste obiectul de tip Response pentru client, caruia i-l trimite. Totodata, serverul pastreaza o stare interna ce tine minte numarul total de nr prime gasite de-a lungul functionarii.

[1] http://dl.dropbox.com/u/24465060/TCP.zip
[2] http://dl.dropbox.com/u/24465060/TCP_Serializabil.zip
[3] http://dl.dropbox.com/u/24465060/UDP.zip
[4] http://dl.dropbox.com/u/24465060/TCP_ex.zip

P.S. De acum inainte partajez arhive prin dropbox, este mai sigur decat Mediafire si altele de genul, pe cale de inchidere.

Niciun comentariu: