Client-server Συνδεση Μεσω Socket

Θεματολογία
Ενδοεπικοινωνία, TCP, Socket, Pipe
Γλώσσες Προγραμματισμού
C++
Αποτελεί εργασία στα πλαίσια του μαθήματος “Αρχιτεκτονική Υπολογιστών ΙΙ”. Ζητούμενο είναι να πραγματοποιηθεί μια ενδοεπικοινωνία μεταξύ server-client ώστε να ανταλλάσσουν πακέτα μέσω TCP προτοκόλλου. Για να λειτουργήσει αυτή η επικοινωνία θα κάνουμε χρήση της τεχνολογίας socket. Πρόκειτε για ένα παιχνίδι στο οποίο ο client πρέπει να μαντέψει τον αριθμό από το 1 έως 3 που παράγει τυχαία ο server. Ο server συγκρατεί τον αριθμό της παρτίδας και το τρέχον σκορ.
Το αρχείο “prsref.c” είναι ο server και το αρχείο “prs.c” είναι ο client.
Ο Server καλείτε πρώτος με ./prsref αφου εχει γινει το compile
- Ν: παρτιδες
- Port: είναι η θύρα στην οποία πρέπει να συνδεθεί o client
- Ο server έχει μια διεργασία-παιδι που συνδέεται μέσω pipe και αυτό που κάνει είναι να παράγει έναν τυχαίο αριθμό από 1 εως 3
- Συγκρίνει το τυχαίο αποτέλεσμα με την εισαγωγή που την κάνει read απο τον client και μετρά το score κάθε φορά
- Τα μηνύματα των αποτελεσμάτων τα γράφει ο server και τα κανει write-response στον client
Ο Client καλείτε δεύτερος με ./prs αφού γίνει το compile o Hostname: π.χ localhost.
- Ο client εισάγει έναν αριθμό από το 1 εως το 3 και στη συνέχεια το κανει write στον server
- Εν συνεχεία, παίρνει το response(τρέχον παρτιδα, σκορ) από τον server
Η σύνδεση server-client γίνεται με τις standard συναρτήσεις listen(), bind(), connect(), accept() αφου έχουν δημιουργηθεί τα socket().

