Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος
170
5.5 Επικοινωνία ιστοχώρου με εφαρμογή
Η επικοινωνία της εφαρμογής με την ιστοσελίδα γίνεται με τη χρήση TCP/IP sockets.Η
σύνδεση μεταξύ εξυπηρετητή – πελάτη (client-server computing) ή αλλιώς Socket
αναφέρεται σε μια βασική λειτουργία των συστημάτων, την ανάγκη τους για ανταλλαγή
πληροφοριών [27]. Ειδικότερα, ένα σύστημα επικοινωνίας μεταξύ client-server είναι ένα
σύστημα στο οποίο το δίκτυο ενώνει διάφορους υπολογιστικούς πόρους, ώστε οι clients (ή
αλλιώς front end) να μπορούν να ζητούν υπηρεσίες από έναν server (ή αλλιώς back end), ο
οποίος προσφέρει πληροφορίες ή επιπρόσθετη υπολογιστική ισχύ.
Στο client-server μοντέλο, ο client κάνει μια αίτηση και ο server επιστρέφει μια
απάντηση ή εκτελεί μια σειρά από ενέργειες σύμφωνα με την αίτηση που έλαβε. Ο server έχει
τη δυνατότητα να εκτελεί άμεσα την αίτηση αυτή ή να την προσθέτει σε μια ουρά. Για
παράδειγμα, μια άμεση ενεργοποίηση της αίτησης μπορεί αποτελεί την επιστροφή ενός
αποτελέσματος, εφόσον ο server έχει κάνει τους απαραίτητους υπολογισμούς. Αντίθετα, η
τοποθέτηση της αίτησης σε μια ουρά μπορεί να σημαίνει ότι η αίτηση πρέπει να μείνει σε
αναμονή για κάποιο χρονικό διάστημα μέχρι να εκτελεστεί. Παράδειγμα τοποθέτησης
αίτησης σε ουρά αναμονής αποτελεί η εκτύπωση ενός αρχείου σε έναν εκτυπωτή δικτύου. Ο
server τοποθετεί την αίτηση σε μια ουρά μαζί με τις αιτήσεις εκτυπώσεων άλλων clients. Με
το πέρας συλλογής των αιτήσεων, ο server επεξεργάζεται τις αιτήσεις με βάση τη σειρά
προτεραιότητας και εκτελεί την αίτηση που έλαβε πρώτη χρονικά.
Τα Sockets είναι ουσιαστικά ένας τρόπος επικοινωνίας και ανταλλαγής πληροφοριών
μεταξύ διαφόρων διαδικασιών. Σημαντικό στοιχείο για να ξεκινήσει η επικοινωνία αυτή είναι
να γνωρίζουν αμφότεροι τα στοιχεία επικοινωνίας τους. Δεν έχει σημασία εάν τρέχουν στο
ίδιο λειτουργικό σύστημα ή εάν έχουν υλοποιηθεί με διαφορετικές γλώσσες
προγραμματισμού.
Για να ξεκινήσει η επικοινωνία πρέπει να υπακούουν και οι δύο σε ένα κοινό
πρωτόκολλο. Ως πρωτόκολλο ορίζεται η κοινή γλώσσα επικοινωνίας μεταξύ client-server.
Υπάρχουν δύο σημαντικά πρωτόκολλα μεταφοράς πληροφοριών, πάνω στα οποία βασίζονται
και πολλά άλλα πρωτόκολλα: το TCP και το UDP. Το TCP είναι ένα αξιόπιστο, connection-
oriented πρωτόκολλο που μεταδίδει δεδομένα ως ένα ρεύμα από bytes. Το θετικό με το