Σχεδιασμός και υλοποίηση ενός έξυπνου παιχνιδιού για τη συναισθηματική
παρακολούθηση και το γονικό έλεγχο ενός παιδιού
87
Σε έναν συγκεκριμένο συνδυασμό διεύθυνσης IP και αριθμού θύρας, μόνο μία
διεργασία μπορεί να συνδεθεί, χρησιμοποιώντας το ίδιο πρωτόκολλο μεταφοράς. Σε
διαφορετική περίπτωση, θα υπάρχουν συγκρούσεις ανάμεσα στα προγράμματα που
προσπαθούν να συνδεθούν. Συνεπώς, σκοπός των θυρών είναι να διαφοροποιήσουν τις
πολλαπλές υποδοχές που υπάρχουν σε μία διεύθυνση δικτύου.
4.2.3.1 Υποδοχές Ρευμάτων (Sockets)
Υπάρχουν πολλοί διαφορετικοί τύποι υποδοχών που καθορίζονται από τη δομή του
στρώματος μεταφοράς. Οι πιο κοινοί τύποι είναι οι υποδοχές ρευμάτων και οι υποδοχές
διαγραμμάτων δεδομένων.
Οι υποδοχές ρευμάτων προσφέρουν αξιόπιστη αμφίδρομη επικοινωνία παρόμοια
με αυτή που έχουν δύο άτομα μέσω τηλεφώνου. Η μία πλευρά αρχικοποιεί τη σύνδεση
με την άλλη και αφού αυτή εγκαθιδρύεται, οποιαδήποτε από τις δύο πλευρές μπορεί να
επικοινωνήσει με την άλλη. Επιπλέον, υπάρχει άμεση επιβεβαίωση ότι το μήνυμα που
στάλθηκε πράγματι έφτασε στον προορισμό του. Στις υποδοχές ρευμάτων
χρησιμοποιείται ένα πρωτόκολλο ελέγχου μετάδοσης (TCP), το οποίο υπάρχει στο
στρώμα μεταφοράς του προτύπου Διασύνδεσης Ανοιχτών Συστημάτων (Open Systems
Interconnection - OSI). Τα δεδομένα συνήθως μεταδίδονται με τη μορφή πακέτων, τα
οποία αποτελούνται από μία κεφαλίδα και από το περιεχόμενο του μηνύματος. Το
πρωτόκολλο TCP είναι σχεδιασμένο έτσι ώστε τα πακέτα δεδομένων να φτάσουν στον
προορισμό τους χωρίς λάθη και με τη σωστή σειρά (Εικόνα 22). Οι διακομιστές
διαδικτύου, οι διακομιστές ταχυδρομείου και οι αντίστοιχες αιτήσεις πελατών τους
χρησιμοποιούν πρωτόκολλο TCP και υποδοχές ρευμάτων για να επικοινωνήσουν.
Στις υποδοχές διαγραμμάτων δεδομένων η σύνδεση είναι μονόδρομη και
αναξιόπιστη. Για παράδειγμα, αν σταλεί μια σειρά από γράμματα δεν υπάρχει
βεβαιότητα ότι αυτά θα παραληφθούν με την ίδια σειρά ή ακόμα περισσότερο αν αυτά θα
καταφέρουν να φτάσουν στον προορισμό τους. Τα datagram socket χρησιμοποιούν User
Datagram Protocol (UDP). Στην ουσία η σύνδεση που δημιουργείται δεν είναι
πραγματική σύνδεση, αλλά μία απλή μέθοδος για αποστολή δεδομένων από ένα σημείο
σε ένα άλλο.