Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος
172
5. Μέσω της συνάρτησης accept() στην πλευρά του server, γίνεται δεκτή η σύνδεση και
ξεκινά η αποστολή και η λήψη δεδομένων μέσω των συναρτήσεων write() και read().
Η τελευταία συνάρτηση επιστρέφει τον αριθμό των bytes που έλαβε ή την τιμή -1 σε
περίπτωση σφάλματος.
6. Για τον τερματισμό της μεταξύ τους επικοινωνίας χρησιμοποιείται η συνάρτηση
close(). Μετά την ολοκλήρωση της συνάρτησης το socket απενεργοποιείται και εάν ο
server παραμένει ανοιχτός τίθεται σε κατάσταση «αναζήτησης - ακοής» για νέα
σύνδεση
18
.
Εικόνα 84: Επικοινωνία μεταξύ client και server. Στο παραπάνω διάγραμμα παρουσιάζονται όλες οι
απαραίτητες διαδικασίες για την επικοινωνία μεταξύ των δύο αυτών οντοτήτων.
18
Τίθεται η προϋπόθεση να μην υπάρχει κάποια αίτηση που να περιμένει εξυπηρέτηση στην ουρά.
Στην περίπτωση αυτή ξεκινά ξανά η διαδικασία που περιγράφηκε για την καινούρια σύνδεση μέχρις
ότου να αδειάσει εντελώς η ουρά.