Dezvoltarea de aplicatii Java Client/Server cu TCP
Dezvoltarea de aplicatii Java Client/Server cu TCP
Abstract: TCP (Transmission Control Protocol) este un protocol connection-based care permite un flow solid de informatii intre doua calculatoare. Ofera si un canal point-to-point pentru aplicatiile care necesita un flux de date care sa nu sufere modificari. Limbajul de programare Java permite, prin intermediul java.net, un API potrivit pentru dezvoltarea aplicatiilor client/server care folosesc acest protocol pentru a comunica.
17 Feb 2020
1147
Other articles
Object-relational Mapping folosind JPA, Hibernate si Spring Data JPA. Persistence cu JPA
Cum sa interogam Kafka Streaming Data?
Procrastinarea. Care sunt avantajele ei?
Object-relational Mapping folosind JPA, Hibernate si Spring Data JPA
Procrastinarea
Cerinte. De ce avem nevoie de ele?
Dezvolta-ti abilitatile cu training-urile noastre
Programarea reactiva Java. Implementari
Testarea software. Intrebari tipice si raspunsuri. Continuare
Testarea software. Intrebari tipice si raspunsuri
Abstract: TCP (Transmission Control Protocol) este un protocol connection-based care permite un flow solid de informatii intre doua calculatoare. Ofera si un canal point-to-point pentru aplicatiile care necesita un flux de date care sa nu sufere modificari. Limbajul de programare Java permite, prin intermediul java.net, un API potrivit pentru dezvoltarea aplicatiilor client/server care folosesc acest protocol pentru a comunica.
Protocolul TCP necesita stabilirea unei sesiuni intre client si server. O sesiune, la baza, este un mecanism prin care obtinem niste date.
TCP se comporta asemanator unei discutii la telefon, in varianta un pic mai old-school.
Un three-way handshake (sau TCP handshake) este o metoda folosita intr-o retea TCP/IP pentru a crea o conexiune intre un local host/client si server. Este o metoda in 3 pasi care necesita ca atat clientul cat si serverul sa schimbe pachete SYN si ACK (acknowledgment) inainte ca sa inceapa schimbul de date.

Un TCP 3-way handshake funtioneaza astfel:
Four-way disconnect este metoda folosita intr-o retea TCP/IP network pentru a inchide conexiunea intre client si server.

Asa functioneaza TCP 4-way disconnect:
Java and Web Technologies Expert
-
Principiile TCP protocol
Protocolul TCP necesita stabilirea unei sesiuni intre client si server. O sesiune, la baza, este un mecanism prin care obtinem niste date.
TCP se comporta asemanator unei discutii la telefon, in varianta un pic mai old-school.
- Ridicam receptorul
- Asteptam tonul
- Formam numarul
- Telefonul suna
- Ridicam telefonul
- Spunem buna
- Incepem conversatia
- Repetam daca nu am inteles ceva
Un three-way handshake (sau TCP handshake) este o metoda folosita intr-o retea TCP/IP pentru a crea o conexiune intre un local host/client si server. Este o metoda in 3 pasi care necesita ca atat clientul cat si serverul sa schimbe pachete SYN si ACK (acknowledgment) inainte ca sa inceapa schimbul de date.

Un TCP 3-way handshake funtioneaza astfel:
- Un client node trimite un SYN data packet pe o retea IP catre un server de pe aceeasi retea sau una externa. Obiectivul acestui pachet este sa interogheze/deduca daca serverul este disponibil pentru conexiuni noi.
- Serverul tinta trebuie sa aiba porturi deschise care sa accepte si sa initieze noi conexiuni. Cand serverul primeste SYN packet de la client node, raspunde si returneaza un confirmare – ACK packet sau SYN/ACK packet.
- Client node primeste SYN/ACK de la server si raspunde cu un ACK packet.
Four-way disconnect este metoda folosita intr-o retea TCP/IP network pentru a inchide conexiunea intre client si server.

Asa functioneaza TCP 4-way disconnect:
- Clientul trimite un FIN packet catre server si isi actualizeaza starea la FIN_WAIT_1
- Serverul primeste cererea de inchidere de la client, raspunde cu ACK si trece in CLOSE_WAIT
- Clientul primeste raspunsul de la server si trece la FIN_WAIT_2
- Serverul este in CLOSE_WAIT si urmeaza FIN, care actualizeaza starea la LAST_ACK
- Clientul primeste cererea de inchidere si raspunde cu ACK, care duce la TIME_WAIT state
- Serverul a terminat si seteaza conexiunea la CLOSED
- Clientul sta in TIME_WAIT pentru maxim 4 minute inate de a seta conexiunea la CLOSED
Vrei sa inveti mai multe despre aceasta tehnologie? Descopera cursurile noastre.
Catalin Tudose
Java and Web Technologies Expert