ικτύωσησε Java Κατανεµηµένα Συστήµατα 08-1

Σχετικά έγγραφα
Κατανεμημένα Συστήματα. Ενότητα # 4: Μηχανισμοί Επικοινωνίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Ειδικά Θέματα Προγραμματισμού

ιαδικτυακές Εφαρµογές

14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης

Διδάσκων: Παναγιώτης Ανδρέου

Σύστηµα Java RMI. Κατανεµηµένα Συστήµατα 17-1

Αποµακρυσµένη κλήση διαδικασιών

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Πρωτόκολλα Διαδικτύου

{ πρωτόκολλο, τοπική-διεύθυνση, τοπική-διεργασία, απομακρυσμένη-διεύθυνση, απομακρυσμένη-διεργασία }

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #11 η : Διαδικτυακές Εφαρμογές με τη Java

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

Εργαστήριο Java. Αντικείµενο: Δίκτυα. Χειρισµός URLs. Άσκηση 1. Lab11. Πακέτο java.net

HY335 4ο Φροντιστήριο

Κινητά και Διάχυτα Συστήματα. Ενότητα # 4: Απομακρυσμένα αντικείμενα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εργαστήριο Κατανεμημένων Συστημάτων

Κατανεμημένα Συστήματα με Java. Ενότητα # 16: Κατανεμημένα συστήματα αντικειμένων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

(C) 2010 Pearson Education, Inc. All rights reserved.

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1

Συνεχής ροή πολυµέσων

Κατανεμημένα Συστήματα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

Κεφάλαιο 7.3. Πρωτόκολλο TCP

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

4 η ιάλεξη: Signals UDP Sockets

7.2 Τεχνολογία TCP/IP

Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4

Κατανεµηµένασυστήµατα αρχείων

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

7.11 Πρωτόκολλα εφαρµογής

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

Κατανεμημένα Συστήματα. Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

7.11 Πρωτόκολλα Εφαρµογής Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Προσοµοίωση λειτουργίας επιπέδων OSI

Εισαγωγή στον Κατανεμημένο Προγραμματισμό


Φροντιστήριο Α' Κατανεμημένα Συστήματα Επιμέλεια: Μπούτσης Ιωάννης

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 6 ΣΕΛΙΔΕΣ

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

Προγραμματισμός με BSD Sockets σε περιβάλλον Linux

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1

7.2.2 Σχέση OSI και TCP/IP

Β1. Σε ένα τοπικό δίκτυο τοπολογίας Ethernet-TCP/IP το επίπεδο πρόσβασης δικτύου περιλαμβάνει:

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java

Πρωτόκολλα Διαδικτύου

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP

Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή

Φροντιστήριο Α' Κατανεμημένα Συστήματα Επιμέλεια: Μπούτσης Ιωάννης

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Mεταβλητές (variables) και Σταθερές (constants)

2η Προγραµµατιστική Εργασία

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

ΥΛΟΠΟΙΗΣΗ ΠΡΟΤΥΠΩΝ ΕΠΙΚΟΙΝΩΝΙΑΣ ΜΕ ΤΗ ΒΙΒΛΙΟΘΗΚΗ JAVA.NET ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΥ ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ ΤΕΕ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Η απάντηση αυτή λαμβάνει 5 μονάδες. Και αφού βέβαια ο εξεταζόμενος γράψει το γράμμα της σωστής απάντησης μόνο.

Κατανεµηµένα Αντικείµενα 16-1

Πρωτόκολλο FTP. Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. DICOM Επικοινωνία Γενικά

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Περιεχόμενα. Πρόλογος... xiii

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Ορισμός : URL είναι ένα ακρωνύμιο για το Uniform Resource Locator και το οποίο αποτελεί μια αναφορά ( μια διεύθυνση ) στο Internet.

α. Το πλαίσιο Ethernet ξεκινά με ένα προοίμιο επτά byte εναλλασσόμενων άσων και μηδενικών.

7.7 Πρωτόκολλο ARP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

3.3.2 Το πρωτόκολλο δυναμικής διευθέτησης υπολογιστή DHCP

Network Address Translation (NAT)

Εισαγωγή Επανάληψη. ΤΕΙ Στερεάς Ελλάδας. ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διαδικτυακός Προγραμματισμός

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet)

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

7.9 ροµολόγηση. Ερωτήσεις

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ 1 στα Δίκτυα Υπολογιστών

Εργαστήριο Δικτύων Υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

Βασίλειος Κοντογιάννης ΠΕ19

Transcript:

ικτύωσησε Java ιευθύνσεις IP Υποδοχές ρεύµατος Σειριακοποίηση αντικειµένων Υποδοχές δεδοµενογραφηµάτων Υποδοχές πολυεκποµπής Οµοιόµορφοι Εντοπιστές Πόρων Κατανεµηµένα Συστήµατα 08-1

Υποδοχές σε C ικτύωσησε Java Η κλασική διεπαφή είναι γραµµένη σε C Πολλές και περίπλοκες κλήσεις Καλύπτει κάθε οικογένεια πρωτοκόλλων µε ενιαίο τρόπο Υποδοχές σε Java Ειδικές τάξεις για TCP και UDP στο πακέτο java.net Περιορισµένη αλλά πολύ απλούστερη διεπαφή ιευθύνσεις IP: τάξη InetAddress Εξειδικεύεται σε Inet4Address και Inet6Address Περιέχει διεύθυνση IP και όνοµα ξένιου (host) υπολογιστή InetAddress getbyaddress (byte[] addr) ηµιουργεί ένα αντικείµενο µε βάση τη διεύθυνση IP Η διεύθυνση δίνεται σε διάταξη δυφιοσυλλαβών δικτύου Κατανεµηµένα Συστήµατα 08-2

ιευθύνσεις IP InetAddress getbyaddress (String host, byte[] addr) Συµπληρώνει και το όνοµα, αλλά χωρίς επίλυση InetAddress getbyname (String host) Επιλύει το όνοµα αν είναι σε µορφή DNS Αν είναι σε µορφή διεύθυνσης, απλά το µετατρέπει InetAddress getlocalhost () ηµιουργεί ένα αντικείµενο µε την τοπική διεύθυνση String gethostaddress () ιεύθυνση αντικειµένου σε µορφή κειµένου String gethostname () Όνοµα αντικειµένου, µε αντίστροφη επίλυση αν χρειάζεται String tostring () Συµβολοσειρά της µορφής όνοµα/διεύθυνση Κατανεµηµένα Συστήµατα 08-3

Υποδοχέςρεύµατος Τάξη Socket: υποδοχές ρεύµατος πελατών Απαιτεί αποµακρυσµένη διεύθυνση και θύρα Socket (InetAddress addr, int port) Σύνδεση µε αποµακρυσµένη διεύθυνση IP και θύρα Socket (String host, int port) Σύνδεση µε αποµακρυσµένο όνοµα και θύρα Τάξη ServerSocket: υποδοχές ρεύµατος εξυπηρετητών Απαιτεί µόνο την τοπική θύρα ServerSocket (int port) Αν η θύρα είναι 0, χρησιµοποιεί τυχαία διαθέσιµη θύρα Αυτόµατη δηµιουργία ουράς για 50 αιτήσεις Socket accept () Αποδοχή της επόµενης αίτησης σε νέα υποδοχή Κατανεµηµένα Συστήµατα 08-4

Υποδοχέςρεύµατος Επικοινωνία πελάτη και εξυπηρετητή Socket: επιστρέφει συνδεδεµένη θύρα στον πελάτη ServerSocket: επιστρέφει ενεργή (όχι συνδεδεµένη) θύρα Accept: επιστρέφει νέα συνδεδεµένη θύρα στον εξυπηρετητή Είδη εξυπηρετητών Ταυτόχρονοι: εξυπηρετούν πολλές αιτήσεις ταυτόχρονα Επαναληπτικοί: εξυπηρετούν µία αίτηση σε κάθε στιγµή Η Accept δίνει και τις δύο επιλογές στον εξυπηρετητή InputStream getinputstream () Συνδέει ένα ρεύµα εισόδου στην υποδοχή OutputStream getoutputstream () Συνδέει ένα ρεύµα εξόδου στην υποδοχή void close (): Κλείνει την υποδοχή Κατανεµηµένα Συστήµατα 08-5

Σειριακοποίησηαντικειµένων Επίπεδα επικοινωνίας στη Java Ανταλλαγή δυφιοσυλλαβών (Input/OutputStream) Ανταλλαγή πρωταρχικών τύπων (DataInput/OutputStream) Ανταλλαγή αντικειµένων (ObjectInput/OutputStream) Χρησιµοποιούνται οι ίδιες ακριβώς υποδοχές Σειριακοποίηση αντικειµένων Τοποθέτηση των µελών του σε ροή δυφιοσυλλαβών Τα µέλη µπορεί να είναι ακόµη και άλλα αντικείµενα Αποσειριακοποίηση: ανακατασκευή του αντικειµένου Χρήσιµες για αποθήκευση ή µετάδοση αντικειµένων Ποια αντικείµενα είναι σειριακοποιήσιµα; Πρέπει να υλοποιούν τη διεπαφή java.io.serializable Ισχύει για όλες τις τάξεις των πακέτων java.lang και java.util Κατανεµηµένα Συστήµατα 08-6

Υποδοχέςδεδοµενογραφηµάτων Ανταλλαγή αυτοδύναµων πακέτων Κάθε πακέτο περιέχει διεύθυνση / θύρα αποστολής ή λήψης Κάθε πακέτο αποστέλλεται εντελώς αυτόνοµα Τάξη DatagramPacket: µηνύµατα που ανταλλάσσονται DatagramPacket (byte[] buff, int length) ηµιουργεί ένα δεδοµενογράφηµα για λήψη δεδοµένων Το length περιορίζει το πλήθος byte προς ανάγνωση Πρέπει να είναι µικρότερο από το µέγεθος του buffer DatagramPacket (byte[] buff, int length, InetAddress host, int port) ηµιουργεί έναν δεδοµενογράφηµα για αποστολή δεδοµένων Καθορίζει επιπλέον διεύθυνση και θύρα παραλήπτη Κατανεµηµένα Συστήµατα 08-7

Υποδοχέςδεδοµενογραφηµάτων InetAddress getaddress () Επιστρέφει τη διεύθυνση του δεδοµενογραφήµατος int getport () Επιστρέφει τη θύρα του δεδοµενογραφήµατος ιεύθυνση / θύρα της αποµακρυσµένης µηχανής void setaddress (InetAddress addr) Θέτει τη διεύθυνση αποστολής του δεδοµενογραφήµατος void setport (int port) Θέτει τη θύρα αποστολής του δεδοµενογραφήµατος byte[] getdata () Επιστρέφει τα δεδοµένα του δεδοµενογραφήµατος void setdata (byte[] buff) Θέτει τα δεδοµένα του δεδοµενογραφήµατος Κατανεµηµένα Συστήµατα 08-8

Υποδοχέςδεδοµενογραφηµάτων Τάξη DatagramSocket: Ίδια για πελάτη και εξυπηρετητή Η ανταλλαγή δεδοµένων είναι συµµετρική public DatagramSocket () ηµιουργία υποδοχής σε τυχαία θύρα public DatagramSocket (int port) ηµιουργία υποδοχής σε συγκεκριµένη θύρα void send (DatagramPacket p) Αποστολή δεδοµενογραφήµατος µέσω υποδοχής Η διεύθυνση / θύρα του παραλήπτη πρέπει να έχουν συµπληρωθεί void receive (DatagramPacket p) Λήψη δεδοµενογραφήµατος µέσω υποδοχής Επιστρέφεται η διεύθυνση / θύρα του αποστολέα void close (): Κλείνει την υποδοχή Κατανεµηµένα Συστήµατα 08-9

Υποδοχέςπολυεκποµπής Αποστολή µηνυµάτων σε πολλούς παραλήπτες Χρήση διεύθυνσης IP πολυεκποµπής (class D) Οι παραλήπτες εγγράφονται / διαγράφονται όποτε θέλουν Ο αποστολέας δεν είναι ανάγκη να ανήκει στην οµάδα Τάξη MulticastSocket: υποτάξη DatagramSocket Χρησιµοποιείται πάντα το UDP, όχι το TCP Χρήση send / receiveγια ανταλλαγή πακέτων MulticastSocket (int port) ηµιουργία υποδοχής πολυεκποµπής void joingroup (InetAddress addr) void leavegroup (InetAddress addr) Εγγραφή σε / διαγραφή από συγκεκριµένη οµάδα Κατανεµηµένα Συστήµατα 08-10

ΟµοιόµορφοιΕντοπιστέςΠόρων Οµοιόµορφοι Εντοπιστές Πόρων (URLs) Χρησιµοποιούνται στον Παγκόσµιο Ιστό (WWW) Αναφέρονται σε έγγραφα-πόρους στον Ιστό Περιέχουν πρωτόκολλο, διεύθυνση, θύρα και όνοµα αρχείου Παράδειγµα: http://www.aueb.gr:80/photos/ Τάξη URL: απλή περιγραφή ενός URL URL(String spec) ηµιουργεί ένα αντικείµενο URL από µία πλήρη περιγραφή URL(String protocol, String host, int port, String file) ηµιουργεί ένα αντικείµενο URL από τις συνιστώσες του -1 σηµαίνει προεπιλεγµένη θύρα για αυτό το πρωτόκολλο URL tourl(): Ανήκει στην τάξη File ηµιουργεί ένα URL που δείχνει σε τοπικό αρχείο Κατανεµηµένα Συστήµατα 08-11

ΟµοιόµορφοιΕντοπιστέςΠόρων URLConnection openconnection() Ανοίγει µία σύνδεση µε τον πόρο που δείχνει το URL Επιστρέφει ένα αντικείµενο URLConnection Μέσω του URLConnection µπορούµε: Να πάρουµε ένα ρεύµα για ανάγνωση του πόρου Να µετατρέψουµε τον πόρο σε αντικείµενο τύπου Object Να διαβάσουµε τα πεδία της επικεφαλίδας του πόρου InputStream openstream() Επιστρέφει ρεύµα για ανάγνωση του πόρου-εγγράφου Object getcontent() Κατεβάζει τα περιεχόµενα του πόρου-εγγράφου Μετατρέπει το περιεχόµενο σε αντικείµενο τύπου Object Πρέπει να έχουµε ορίσει handler για τη µετατροπή Κατανεµηµένα Συστήµατα 08-12