καλησπέρα!
Παράδειγμα σελ 235:
Εαν το πεδίο παράθυρο έχει τεθεί σε 1.000 και το πεδίο επιβεβαίωσης σε 12.000 σημαίνει ότι το άκρο, που έχει δήλωση αυτές τις τιμές είναι σε θέση να δεχθεί δεδομένα,που βρίσκονται στην περιοχή από 12.000 οκτάδες+1.000=13.000 οκτάδες.
Δηλαδή εννοεί πως έχουν ληφθεί 12.000 οκτάδες άρα είναι σε θέση να δεχθεί τα επόμενα 1000 δηλαδή από 12.000 έως 13.000;
Ευχαριστώ.
Αυτό εννοεί αλλά ακριβέστερα, είναι σε θέση να δεχθεί τα 12001-13000
Σωστά. :)
Παράθεση από: petrosp13 στις 22 Φεβ 2011, 11:53:21 ΜΜ
Αυτό εννοεί αλλά ακριβέστερα, είναι σε θέση να δεχθεί τα 12001-13000
Για την ακρίβεια τις θέσεις 12.000- 12.999
1-1000
1001-2000
...
12001-13000
γιατί ξεκινά από το 1??? Από το 0 ξεκινά.
Γιατί να ξεκινά από το 0;
1) γιατί έτσι είναι στο πρότυπο. Πεδίο επιβεβαίωσης 0 σημαίνει επιβεβαιώνω 0 (δηλαδή δεν έχω λάβει τίποτα).
2) Ως συνήθως η αρίθμηση στις γλώσσες χαμηλού επιπέδου (c, assembly κλπ) αρχίζει από το 0.
Όταν έχεις επιβεβαιώσει όμως 12.000 και περιμένεις άλλα 1000, περιμένεις τα 12001-13000 ανεξάρτητα από το αν η αρίθμηση ξεκινάει από το 0 ή το 1
Επιβεβαιώνεις 12.000 σημαίνει ότι έχεις δεχτεί ορθά 12.000
Δεν μπορείς να δεχτείς πάλι το 12.000ο byte
OXI!
1) Δημιουργώ σύνδεση TCP και η επιβεβαίωση έχει τιμή 0.
Δηλαδή έχω λάβει 0 bytes ή αλλιώς το επόμενο τμήμα που θα λάβω θα ξεκινά από τη θέση 0.
2) Στέλνω 1000 bytes.
3) Μπαίνουν στις θέσεις 0-999 [1000 θέσεις]
4) Επιβεβαιώνω 1000
Δηλαδή έχω λάβει 1000 bytes ή αλλιώς το επόμενο τμήμα που θα λάβω θα ξεκινά από τη θέση 1000.
κ.ο.κ.ε.