Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ (ΕΡΓΑΣΤΗΡΙΟ)
2
ΕΝΟΤΗΤΕΣ ΔΙΔΑΣΚΑΛΙΑΣ ΕΡΓΑΣΤΗΡΙΑΚΟΥ ΜΑΘΗΜΑΤΟΣ
Ενότητα Αντικείμενο Εργασία 1η Εξοικείωση με πρωτόκολλο UDP , Μηχανισμός Client – Server 20% 2η Εξοικείωση με πρωτόκολλο TCP , Μηχανισμός Client – Server 3η Μηχανισμός διαχείρισης αρχείων στο πρωτόκολλο TCP. 4η Μετανάστευση εφαρμογών με Σειριακοποίηση. 5η Υλοποίηση Remote Method Invocation (RMI) συστήματος.
3
Κατανεμημένο Σύστημα Είναι μια συλλογή από ανεξάρτητα υπολογιστικά συστήματα, συνεργαζόμενα μεταξύ τους μέσω δικτύου, τα οποία εµφανίζονται στους χρήστες τους ως ένα ενιαίο συνεκτικό σύστηµα. Κατάλληλη/Βέλτιστη διαχείριση κατανεμημένων πόρων, δεδομένων και εργασιών. Ανάγκη υλοποίησης κατάλληλων μηχανισμών συγχρονισμού και ελέγχου της επικοινωνίας.
4
Εξοικείωση με πρωτόκολλο UDP
Χαρακτηριστικά Connectionless Δεδομενογραφήματα(datagrams) Ταχύτητα (δεν υπάρχει έλεγχος) Δεν υπάρχει σειρά
5
Εξοικείωση με πρωτόκολλο UDP
Κλάση DatagramPacket DatagramPacket( byte[] buf, int length, InetAddress address, int port ) Κατασκευάζει ένα UDP πακέτο με ωφέλιμη πληροφορία buf, μεγέθους length, διεύθυνση προορισμού address και πόρτα προορισμού port. byte[] getData() Επιστρέφει ένα πίνακα από bytes με την ωφέλιμη πληροφορία. int getLength() Επιστρέφει το μέγεθος length των δεδομένων που είναι να σταλούν η των δεδομένων που ελήφθησαν. InetAddress getAddress() Επιστρέφει την IP διεύθυνση του μηχανήματος στο οποίο αυτό το πακέτο στέλνεται ή αυτού από το οποίο ελήφθη. int getPort() Επιστρέφει στον απομακρυσμένο υπολογιστή τον αριθμό της πόρτας αυτού στον οποίο αυτό το πακέτο στέλνεται ή αυτού από το οποίο ελήφθη. Π.χ. DatagramPacket packet = new DatagramPacket(…)
6
Εξοικείωση με πρωτόκολλο UDP
Sockets Socket Κλάση DatagramSocket DatagramSocket(int port) Κατασκευάζει μία UDP υποδοχή και δεσμεύει την συγκεκριμένη port στο τοπικό μηχάνημα. void send(DatagramPacket packet) Στέλνεται ένα UDP πακέτο (packet) από αυτή την υποδοχή. void receive(DatagramPacket p) Λαμβάνεται ένα UDP πακέτο (packet) από αυτή την υποδοχή. Όταν αυτή η μέθοδος καλείται από το σύστημα το packet γεμίζει με την πληροφορία που λαμβάνεται. Π.χ. DatagramSocket socket = new DatagramSocket(5000)
7
Εξοικείωση με πρωτόκολλο UDP
Εφαρμογή
8
Εξοικείωση με πρωτόκολλο UDP
Μονόδρομη Επικοινωνία Client DatagramSocket Random port Well known port Server DatagramSocket Process
9
Εξοικείωση με πρωτόκολλο UDP
Αμφίδρομη επικοινωνία Client DatagramSocket Random port Well known port Server DatagramSocket Process Random port DatagramSocket
10
Εξοικείωση με πρωτόκολλο UDP
Αμφίδρομη επικοινωνία με n Clients Well known port Server DatagramSocket Client 1 DatagramSocket Process : Client n DatagramSocket DatagramSocket Random port
11
Εξοικείωση με πρωτόκολλο UDP
Threads Τα threads είναι ένας τρόπος για ένα πρόγραμμα να χωρίζει τον εαυτό του σε δύο ή περισσότερες ταυτόχρονες (ή ψευδό-ταυτόχρονες) λειτουργίες. JAVA Threads a) b)
12
Εξοικείωση με πρωτόκολλο UDP
Κλάση Hashtable Hashtable() Κατασκευάζει ένα καινούριο, άδειο Hashtable. Object put(Object key, Object value) Τοποθετεί το αντικείμενο(value) στο hashtable και το αντιστοιχίζει με το συγκεκριμένο κλειδί(key). Object get(Object key) Επιστρέφει το αντικείμενο με το οποίο το συγκεκριμένο κλειδί(key) είναι αντιστοιχισμένo σε αυτό το hashtable. Object remove(Object key) Αφαιρεί το κλειδί(key) (και η αντίστοιχο αντικείμενο) από αυτό hashtable. Π.χ. Hashtable hashtable = new Hashtable()
13
Εξοικείωση με πρωτόκολλο UDP
Άσκηση Να υλοποιηθεί client – server μηχανισμός σύμφωνα με το πρωτόκολλο δικτύου UDP κατά τον οποίο ο client θα διαβάζει μηνύματα από το πληκτρολόγιο, θα τα στέλνει στον server και αυτός θα τα προωθεί σε όλους τους εγγεγραμμένους clients. Τα μηνύματα που θα αποστέλλονται από τον client στον server θα είναι τυποποιημένα της μορφής: a) Signin <username> b) Message <message> c) Signout Ο server θα πράττει, αναλόγως τα προθέματα, ως εξής: a) Θα αποθηκεύει την διεύθυνση και το <username> με το οποίο έκανε Signin ο χρήστης σε μια λίστα η οποία θα κρατά τους εγγεγραμμένους χρήστες. Στην συνέχεια θα ενημερώνει τον καινούριο χρήστη για την επιτυχή εγγραφή του καθώς και τους υπόλοιπους χρήστες για την είσοδο του. β) Θα στέλνει το <message> σε όλους τους εγγεγραμμένους χρήστες εκτός από τον χρήστη που του το έστειλε. c) Θα διαγράφει το χρήστη από την λίστα των ενεργών χρηστών και θα ενημερώνει τους υπολοίπους για την αποχώρηση του. Προσέξτε τα παρακάτω Να ορίσετε συγκεκριμένες πόρτες στις οποίες θα ακούει ο server και οι clients. Η επικοινωνία θα είναι αμφίδρομη που σημαίνει ότι ο client και ο server και θα λαμβάνουν και θα αποστέλλουν μηνύματα και η μία από τις δύο διαδικασίες θα εκτελείται σε ένα νέο Thread.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.