Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pc:laboratoare:06 [2022/04/10 20:09]
vlad_andrei.badoiu [Extra/Hints]
pc:laboratoare:06 [2022/04/13 15:06] (current)
vlad_andrei.badoiu [Exercitii]
Line 329: Line 329:
   - Clientul va transmite fișierul în calupuri de câte 1024 octeți.   - Clientul va transmite fișierul în calupuri de câte 1024 octeți.
  
-La final, vom studia folosind **Wireshark** datagramele trimise de catre client.+La final, vom studia folosind **Wireshark** datagramele trimise de catre client.  
 + 
 +Mai mult, daca sunteti in aceasi retea (e.g. pe acelasi WiFi) va puteti **grupa cate doi** pentru a trimite un fisier de la unu la celalalt. Mai exact, unul dintre voi va porni un server cu bind pe INADDR_ANY (0.0.0.0), iar clientul va putea trimite catre ip-ul celuilalt un fisierul. Felicitari, ati facut o **aplicatie simpla de transfer de fisiere**.
  
 **[Task-ul 2]:** **[Task-ul 2]:**
Line 399: Line 401:
 <​note>​ <​note>​
 Observatie: Cateodata, cand se incearca sa se reporneasca un _server_, bind() nu reuseste sa asigneze, iar eroarea este "​Address already in use". Asta inseamna ca un socket care a fost conectat pe acel port inca mai este agatat si //​utilizeaza portul//. In aceasta situatie, fie se poate astepta deconectarea portului respectiv, fie se specifica programatic reutilizarea portului cu [[https://​linux.die.net/​man/​3/​setsockopt|setsockopt()]] Observatie: Cateodata, cand se incearca sa se reporneasca un _server_, bind() nu reuseste sa asigneze, iar eroarea este "​Address already in use". Asta inseamna ca un socket care a fost conectat pe acel port inca mai este agatat si //​utilizeaza portul//. In aceasta situatie, fie se poate astepta deconectarea portului respectiv, fie se specifica programatic reutilizarea portului cu [[https://​linux.die.net/​man/​3/​setsockopt|setsockopt()]]
 +
 +<code C>
 +int enable = 1;
 +if (setsockopt(sockfd,​ SOL_SOCKET, SO_REUSEADDR,​ &​enable,​ sizeof(int)) < 0)
 +    perror("​setsockopt(SO_REUSEADDR) failed"​);​
 +</​code>​
 +
 </​note>​ </​note>​
  
pc/laboratoare/06.1649610565.txt.gz · Last modified: 2022/04/10 20:09 by vlad_andrei.badoiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0