0% au considerat acest document util (0 voturi)
22 vizualizări2 pagini

Lab 4

Documentul descrie proiectarea unei aplicații client-server TCP utilizând Sockets API. Clientul și serverul trebuie să comunice printr-un protocol propriu definit de utilizator. De asemenea, sunt enumerate întrebări legate de concepte TCP și implementarea de socketi.

Încărcat de

Hejea Nicu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
22 vizualizări2 pagini

Lab 4

Documentul descrie proiectarea unei aplicații client-server TCP utilizând Sockets API. Clientul și serverul trebuie să comunice printr-un protocol propriu definit de utilizator. De asemenea, sunt enumerate întrebări legate de concepte TCP și implementarea de socketi.

Încărcat de

Hejea Nicu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Aplicație Client-Server TCP

Să se creeze o aplicație Client-Server TCP utilizind Sockets API

Pentru nota 8, 9 si 10:


• Să proiectați și elaborați propriul protocol

Atenție:
• Fiecare client trebuie procesat de către server Intr-un fir de execuție aparte
• Nu se admite aplicații simple de genul Echo Client-Server
• Aplicația poate fi GUI sau consolă
• Pentru cei ce doresc 8, 9 și 10, ca exemplu luați protocoalele HTTP, SMTP unde clientul și
serverul discută printr-un set de reguli bine definite. De exemplu, pentru o aplicație de tip chat
pentru ca clientul să fie identificat de către server acesta trebuie să transmită un mesaj de tipul:
HELLO-REQUEST după care serverul va răspunde cu HELLO-APPROVE. Mai detailat
accesați ultimele 3 referințe de la sfIrșitul acestui fișier.

Intrebări la apărarea laboratorului:


• Ce este un protocol orientat pe conexiune ?
• Ce tipuri de aplicații beneficiază in general de utilizarea protocolului TCP ?
• Cum TCP garantează că datele vor fi transmise cu succes ?
• Diferența dintre blocking si non-blocking sockets
• Diferența dintre blocking multithreaded și non-blocking single thread socket
• Cum are loc procesul TCP Three Way Handshake ?
• Numiti cele 4 apeluri de sistem necesare pentru a crea un server TCP
• Care este rolul metodei bind() ?
• Care este rolul metodei accept() ?
• Ce se intimplă cоnd apelați mai оntоi connect() apoi bind() ?
• Ați avea vreodată nevoie să implementați un timeout intr-un client sau server care utilizează
TCP?
• Intr-o conexiune TCP, clientul sau serverul trimite mai intii datele ?
• Care este adresa de loopback IPv4 și care este rolul ei ?
• De unde știe un sistem de operare ce aplicație este responsabilă pentru un pachet primit din
rețea ?
• Datele primite prin recv() au intotdeauna aceeași dimensiune cu datele trimise cu send() ?
• Este acceptabil să inchei executia programului dacă este detectată o eroare de rețea ?
• Puteți imbunătăți performanța aplicației prin dezactivarea algoritmului Nagle ?
• Ce instrumente listează socket-urile TCP deschise in sistemele de operare Windows și Linux ?
• Tehnici de sincronizare a firelor de execuții

Link-uri utile:
• [Link]
• [Link]
life
• [Link]
designers-part-1-df0c10b86449
• [Link]
• [Link]
sockets
• [Link]
• [Link]
la001/[Link]
• [Link]
• [Link]
• [Link]
• [Link]
a-simple-TCP-Server
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
Lattrel_App-[Link]
• [Link]

S-ar putea să vă placă și