
Ο προγραμματισμός Sockets είναι η θεμελιώδης τεχνολογία πίσω από τις επικοινωνίες σε δίκτυα TCP / IP. Η υποδοχή είναι ένα τελικό σημείο μιας αμφίδρομης σύνδεσης μεταξύ δύο προγραμμάτων που εκτελούνται σε ένα δίκτυο. Η υποδοχή παρέχει ένα αμφίδρομο τελικό σημείο επικοινωνίας για την αποστολή και λήψη δεδομένων με άλλη πρίζα. Οι συνδέσεις υποδοχής συνήθως εκτελούνται μεταξύ δύο διαφορετικών υπολογιστών σε τοπικό δίκτυο (LAN) ή σε ολόκληρο το Διαδίκτυο, αλλά μπορούν επίσης να χρησιμοποιηθούν για επικοινωνία μεταξύ διεργασιών σε έναν μόνο υπολογιστή.
Υποδοχές και διευθύνσεις
Τα τελικά σημεία υποδοχής σε δίκτυα TCP / IP έχουν το καθένα μια μοναδική διεύθυνση που είναι ο συνδυασμός μιας διεύθυνσης IP και ενός αριθμού θύρας TCP / IP. Επειδή η υποδοχή είναι συνδεδεμένη με έναν συγκεκριμένο αριθμό θύρας, το επίπεδο TCP μπορεί να προσδιορίσει την εφαρμογή που πρέπει να λάβει τα δεδομένα που της αποστέλλονται. Όταν δημιουργείτε μια νέα υποδοχή, η βιβλιοθήκη υποδοχών δημιουργεί αυτόματα έναν μοναδικό αριθμό θύρας σε αυτήν τη συσκευή. Ο προγραμματιστής μπορεί επίσης να καθορίσει αριθμούς θύρας σε συγκεκριμένες καταστάσεις.
Πώς λειτουργούν οι υποδοχές διακομιστή
Συνήθως, ένας διακομιστής εκτελείται σε έναν υπολογιστή και αποκτά πρόσβαση σε μια υποδοχή που είναι συνδεδεμένη σε μια συγκεκριμένη θύρα. Ο διακομιστής περιμένει έναν διαφορετικό υπολογιστή για να υποβάλει ένα αίτημα σύνδεσης. Ο υπολογιστής-πελάτης γνωρίζει το όνομα κεντρικού υπολογιστή του υπολογιστή διακομιστή και τον αριθμό θύρας στον οποίο ακούει ο διακομιστής. Ο υπολογιστής-πελάτης ταυτίζεται και – αν όλα πάνε σωστά – ο διακομιστής επιτρέπει στον υπολογιστή-πελάτη να συνδεθεί.
Βιβλιοθήκες Socket
Αντί να κωδικοποιούν απευθείας σε API χαμηλού επιπέδου, οι προγραμματιστές δικτύου χρησιμοποιούν συνήθως βιβλιοθήκες υποδοχής. Δύο κοινά χρησιμοποιούμενες βιβλιοθήκες υποδοχών είναι Berkeley Sockets για συστήματα Linux / Unix και WinSock για συστήματα Windows. Μια βιβλιοθήκη υποδοχών παρέχει ένα σύνολο λειτουργιών API παρόμοιες με αυτές που χρησιμοποιούν οι προγραμματιστές για εργασία με αρχεία, όπως Άνοιξε(), ανάγνωση(), γράφω(), και Κλείσε().