Differences

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

Link to this comparison view

pc:laboratoare:02 [2022/03/07 15:55]
vlad_andrei.badoiu [2. Character stuffing în practică]
pc:laboratoare:02 [2022/03/23 16:43] (current)
vlad_andrei.badoiu [Exercitii]
Line 38: Line 38:
 Ne interesează sa definim următoarele metrici: Ne interesează sa definim următoarele metrici:
   * **Bandwidth** -  se măsoară în biți / secunda și reprezinta cantitatea de informație care poate fi transmisa într-o unitate de timp pe legătura de date   * **Bandwidth** -  se măsoară în biți / secunda și reprezinta cantitatea de informație care poate fi transmisa într-o unitate de timp pe legătura de date
-  * **Latency** - se măsoară în secunde și reprezinta timpul ​pe care îl ia unor date trimise printr-un mediu să ajungă la destinație +  * **Latency** - se măsoară în secunde și reprezinta timpul care le ia unor date trimise printr-un mediu să ajungă la destinație 
-  * **Round ​Time Trip (RTT) ** - reprezinta timpul scurs din momentul în care un cadru este trimis pana în momentul în care este primită confirmarea.+  * **Round Trip Time (RTT) ** - reprezinta timpul scurs din momentul în care un cadru este trimis pana în momentul în care este primită confirmarea.
  
 <​note> ​ <​note> ​
Line 76: Line 76:
       }       }
       ​       ​
-      for (int i = 0; i < max_byte; i++) {+      for (int i = 0; i < max_size; i++) {
         char byte = recv_byte();​         char byte = recv_byte();​
         ​         ​
Line 100: Line 100:
 void send_frame(char *frame, int frame_size) void send_frame(char *frame, int frame_size)
 { {
 +   /* Trimite delimitator */
    ​send_byte(DLE);​    ​send_byte(DLE);​
    ​send_byte(STX);​    ​send_byte(STX);​
        
 +   /* Trimite bytes din frame */
    for (int i = 0; i < frame_size; i++) {    for (int i = 0; i < frame_size; i++) {
-      if (frame[1] == DLE)+      ​/* Facem escape la escape */ 
 +      ​if (frame[i] == DLE)
         send_byte(DLE);​         send_byte(DLE);​
         ​         ​
Line 110: Line 113:
    }    }
        
 +   /* Trimite delimitator final */
    ​send_byte(DLE);​    ​send_byte(DLE);​
    ​send_byte(ETX);​    ​send_byte(ETX);​
Line 145: Line 149:
    ​struct Packet {    ​struct Packet {
      ​int ​  size; /* size inainte lui payload pentru a sti dinainte dimensiunea */      ​int ​  size; /* size inainte lui payload pentru a sti dinainte dimensiunea */
-     ​char ​ payload[100];+     ​char ​ payload[30];
      ​int ​  sum;      ​int ​  sum;
    ​}; ​ </​code>​    ​}; ​ </​code>​
Line 155: Line 159:
  
  
 +<​note>​ 
 +O posibila rezolvare a laboratorului se gaseste [[https://​ocw.cs.pub.ro/​courses/​_media/​pc/​laboratoare/​lab2_sol.zip|aici]]. 
 +</​note>​
  
pc/laboratoare/02.1646661340.txt.gz · Last modified: 2022/03/07 15:55 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