Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

(1) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΕΞΑΜΗΝΟ: ΣΤ’ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΔΙΚΤΥΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΟΥΛΗΡΑΣ ΠΑΝΑΓΙΩΤΗΣ ΦΟΙΤΗΤΗΣ: ΠΑΠΑΠΑΝΤΕΛΗΣ ΠΑΝΤΕΛΗΣ

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "(1) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΕΞΑΜΗΝΟ: ΣΤ’ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΔΙΚΤΥΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΟΥΛΗΡΑΣ ΠΑΝΑΓΙΩΤΗΣ ΦΟΙΤΗΤΗΣ: ΠΑΠΑΠΑΝΤΕΛΗΣ ΠΑΝΤΕΛΗΣ"— Μεταγράφημα παρουσίασης:

1 (1) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΕΞΑΜΗΝΟ: ΣΤ’ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΔΙΚΤΥΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΟΥΛΗΡΑΣ ΠΑΝΑΓΙΩΤΗΣ ΦΟΙΤΗΤΗΣ: ΠΑΠΑΠΑΝΤΕΛΗΣ ΠΑΝΤΕΛΗΣ 21 / 4 / 2004

2 (2) ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή στον δικτυακό προγραμματισμό με την Visual Basic.NET ΠΕΡΙΕΧΟΜΕΝΑ Α. Η ΠΛΑΤΦΟΡΜΑ.ΝΕΤ ΤΗΣ MICROSOFT Β. Η ΓΛΩΣΣΑ Visual Basic.NET Γ. TCP (επικοινωνία βασισμένη σε sockets) Δ. UDP (επικοινωνία βασισμένη σε πακέτα)

3 (3) Η ΠΛΑΤΦΟΡΜΑ.ΝΕΤ ΤΗΣ MICROSOFT Η πλατφόρμα.NET παρέχει δυνατότητες για ανάπτυξη λογισμικού για Windows, Internet και World Wide Web. Ανακοινώθηκε από την MS τον Ιούνιο του 2001 και πιστεύεται ότι θα είναι το πρότυπο για την δημιουργία εφαρμογών για την επόμενη δεκαετία. Ειδικότερα η πλατφόρμα.NET στηρίζεται στο.NET Framework Αυτό το πλαίσιο εργασίας διαχειρίζεται και εκτελεί εφαρμογές, περιέχει την βιβλιοθήκη κλάσεων, ενισχύει την ασφάλεια και παρέχει πολλές άλλες προγραμματιστικές δυνατότητες.

4 (4) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ.NET FRAMEWORK 1. Ανεξαρτησία από μια συγκεκριμένη γλώσσα Είναι δυνατή η δημιουργία εφαρμογών σε οποιαδήποτε γλώσσα συμβατή με το.NET Οι κυριότερες γλώσσες είναι η Visual Basic.NET, C#, J#, Visual C++.NET. Υποστηρίζονται ακόμα άλλες 20 γλώσσες. 2. Ανεξαρτησία από μια συγκεκριμένη πλατφόρμα Το προγράμματα μεταγλωττίζονται σε δύο βήματα. Πρώτα σε MSIL (Microsoft Intermediate Language) και μετά σε κώδικα μηχανής για μια συγκεκριμένη πλατφόρμα. Εάν το.NET Framework υπάρχει (και είναι εγκατεστημένο) για κάποιο λειτουργικό σύστημα τότε αυτό που μπορεί να εκτελέσει οποιοδήποτε πρόγραμμα.NET

5 (5) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ.NET FRAMEWORK 3. Framework Class Library ( FCL ) Είναι η βασική βιβλιοθήκη κλάσεων που χρησιμοποιούν τα προγράμματα.ΝΕΤ Είναι κοινή για όλες τις γλώσσες και περιέχει μια τεράστια ποικιλία συστατικών επαναληπτικής χρήσης επιταχύνοντας τον χρόνο δημιουργίας εφαρμογών. 4. Άλλα σημαντικά χαρακτηριστικά ASP.NET Δημιουργία εφαρμογών για PDA, Mobiles Διαλειτουργικότητα γλωσσών CLR (Common Language Runtime) Web Services

6 (6) Η ΓΛΩΣΣΑ Visual Basic.NET H vb.net είναι μια απεικονιστική, οδηγούμενη από συμβάντα αντικειμενοστραφής γλώσσα, στην οποία τα προγράμματα δημιουργούνται χρησιμοποιώντας ένα Ολοκληρωμένο Περιβάλλον Ανάπτυξης (Integrated Development Environment – IDE). Με το IDE, ο προγραμματιστής μπορεί να σχεδιάσει την διεπιφάνεια, να γράψει τον κώδικα, να εκτελέσει και να διορθώσει το πρόγραμμα σε αρκετά σύντομο χρόνο. Η διαδικασία της γρήγορης ανάπτυξης μιας εφαρμογής αναφέρεται ως Rapid Application Development (RAD). Η Visual Basic είναι η πιο διαδεδομένη γλώσσα RAD που χρησιμοποιείται σήμερα.

7 (7) Το IDE της Visual Basic.NET H vb.net, όπως και άλλες γλώσσες συμβατές με το.NET χρησιμοποιούν το περιβάλλον Visual Studio.NET ως IDE. Βασικές Λειτουργίες - Οπτική σχεδίαση - Πλήρης Βοήθεια - Αποσφαλμάτωση - Μεταγλώττιση - Διαχείριση Έργου - Διανομή Εφαρμογής

8 (8) TCP ( επικοινωνία βασισμένη σε sockets ) Μέσω αυτού του χώρου ονομάτων, η Visual Basic προσφέρει επικοινωνίες βασισμένες σε υποδοχές (sockets), που δίνουν στους προγραμματιστές την δυνατότητα να χρησιμοποιούν την δικτύωση σαν να ήταν Ι/Ο αρχείου. Ο χώρος ονομάτων System.Net.Sockets : Βασικές κλάσεις : - Socket - TcpListener - TcpClient - NetworkStream

9 (9) Βήματα δημιουργίας Server TCP 1 Θα δημιουργήσουμε έναν server με TCP και Sockets σε πέντε βήματα 1.Δημιουργία ενός αντικειμένου TcpListener Το αντικείμενο αυτό αναπαριστά μια υποδοχή ροής TCP μέσω της οποίας ο server μπορεί να περιμένει αιτήσεις. TcpListener server = New TcpListener ( port ) 2. Η κλήση της μεθόδου start της κλάσης TcpListener Για να δεχθεί αιτήσεις, η TcpListener πρέπει πρώτα να αρχίσει να ακούει στην θύρα που έχουμε επιλέξει. Η παρακάτω συνάρτηση ενημερώνει την κλάση ότι θέλουμε να αρχίσει να περιμένει για πιθανές συνδέσεις από πελάτες. server.Start()

10 (10) Βήματα δημιουργίας Server TCP 2 3. Δημιουργία σύνδεσης με τον client Αφού λάβει μια αίτηση από τον client, ο server πρέπει να δημιουργήσει την σύνδεση. Η μέθοδος AcceptSocket της κλάσης TcpListener δημιουργεί αυτή την σύνδεση και επιστρέφει ένα αντικείμενο socket. connection = listener.AcceptSocket() 4. Επικοινωνία server και client Αφού έχει επιτευχθεί σύνδεση τα δύο μέρη επικοινωνούν μεταξύ τους χρησιμοποιώντας τις μεθόδους Receive και Send της κλάσης Socket. Αυτές οι μέθοδοι επιστρέφουν αναφορές σε αντικείμενα Socket για ανάγνωση από, και εγγραφή σε αυτά, αντιστοίχως.

11 (11) Βήματα δημιουργίας Server TCP 3 5. Τερματισμός της σύνδεσης Όταν ο client και ο server δεν έχουν τίποτα άλλο να στείλουν θα πρέπει να καλέσουν την μέθοδο close του αντικειμένου Socket για να κλείσει η σύνδεση. Τα παραπάνω βήματα λειτουργούν κανονικά όταν ο server περιμένει μόνο μια σύνδεση από πελάτη. Εάν στο βήμα 4 ο server λάβει αιτήσεις από άλλους πελάτες δεν θα μπορεί να τις δεχτεί. Για να αντιμετωπίσουμε αυτό το πρόβλημα πρέπει να εισάγουμε την έννοια των νημάτων (Threads). Με τα threads είναι δυνατό να εκτελείτε ο ίδιος κώδικας σε διαφορετικά νήματα μια διεργασίας του λειτουργικού συστήματος. Έτσι αυτό που κάνουμε είναι να βάζουμε το βήμα 4, την φάση της επικοινωνίας μεταξύ του server και ενός client, σε διαφορετικό νήμα για κάθε client.

12 (12) Παράδειγμα Server TCP Αρχείο Κώδικα: Server. PDF Server. PDF Εκτελέσιμο: ServerServer Με το TCP και τις υποδοχές ροής, ένας server «περιμένει» για μια αίτηση σύνδεσης από έναν client. Το πρόγραμμα περιέχει ένα μπλοκ κώδικα που εκτελείται διαρκώς. Στο παράδειγμα αυτό ο server και ο client, αφού δημιουργήσουν μία σύνδεση, μπορούν να ανταλλάσσουν μηνύματα κειμένου. Όταν θελήσει ο client να διακόψει την σύνδεση στέλνει ένα μήνυμα με την λέξη “Terminate”.

13 (13) Βήματα δημιουργίας Client TCP 1 Θα δημιουργήσουμε έναν client με TCP και Sockets σε 4 βήματα 1.Δημιουργία ενός αντικειμένου TcpClient Το αντικείμενο αυτό θα συνδεθεί με τον server με την μέθοδο connect, σε μια διεύθυνση και έναν αριθμό θύρας. TcpClient client = New TcpClient() client.Connect ( serverAddress, serverPort ) 2. Η κλήση της μεθόδου GetStream της κλάσης TcpClient Καλώντας αυτή τη μέθοδο επιστρέφεται ένα αντικείμενο NetworkStream, το οποίο χρησιμοποιεί ο client για να γράψει σε, και να διαβάσει από, τον server. Private output As NetworkStream output = client.GetStream()

14 (14) Βήματα δημιουργίας Client TCP 2 3. Επικοινωνία client και server Ο client χρησιμοποιεί τις μεθόδους Read, ReadByte, Write, WriteByte της κλάσης NetworkStream για να εκτελέσει τις κατάλληλες επικοινωνίες. 4. Κλείσιμο της σύνδεσης Μετά την ολοκλήρωση της μετάδοσης, ο client πρέπει να κλείσει την σύνδεση καλώντας την μέθοδο Close του αντικειμένου NetworkStream. Αυτό κλείνει το υποκείμενο Socket. Τέλος ο client καλεί την μέθοδο Close του TcpClient για να τερματίσει την σύνδεση TCP.

15 (15) Παράδειγμα Client TCP Με το TCP και τις υποδοχές ροής, ένας client πρέπει να ξέρει την διεύθυνση υπολογιστή της εφαρμογής server και την θύρα στην οποία εκτελείται ο server. Το παράδειγμα αυτό χρησιμοποιεί αυτά τα στοιχεία για να συνδεθεί με το προηγούμενο παράδειγμα Server ΤCP που είδαμε. Αρχείο Κώδικα : Εκτελέσιμο: Client.pdf Client

16 (16) UDP ( επικοινωνία χωρίς σύνδεση ) Η Βιβλιοθήκη κλάσεων του.NET Framework παρέχει την κλάση UdpClient για την μετάδοση χωρίς σύνδεση μέσω datagrams. Η κλάση UdpClient: Σημείωση: Όπως και οι TcpListener και TcpClient, η UdpClient χρησιμοποιεί τις μεθόδους από την κλάση Socket. Η μέθοδος Send της UdpClient χρησιμοποιεί για μετάδοση δεδομένων την μέθοδο SendTo του Socket και για ανάγνωση την μέθοδο ReceiveFrom του Socket.

17 (17) Εφαρμογή Echo Server UDP : Βήμα 1,2 Θα δημιουργήσουμε μια Εφαρμογή UDP με 4 βήματα 1.Δημιουργία ενός αντικειμένου UdpClient Private client As UdpClient client = New UdpClient ( port ) 2. Δημιουργία ενός κενού αντικειμένου IPEndPoint Private receivePoint As IPEndPoint receivePoint = New IPEndPoint ( New IPAddress(0), 0 ) Οι διευθύνσεις IP και οι αριθμοί θυρών των clients αντιγράφονται στο IPEndPoint όταν λαμβάνονται datagrams από τους clients.

18 (18) Εφαρμογή Echo Server UDP : Βήμα 3,4 3. Δημιουργία ενός βρόχου που περιμένει για πακέτα While True Dim data as Byte() = client.Receive ( receivePoint ) 4. Επιστροφή των πληροφοριών του πακέτου στον Client Client.Send ( data, data.Length, receivePoint ) Η μέθοδος send της κλάσης UdpClient, δέχεται τρία ορίσματα. α) τον πίνακα byte για αποστολή β) το μέγεθος του πακέτου που αποστέλλεται γ) τον προορισμό του πακέτου Με την ίδια πρόταση αντιγράφεται η διεύθυνση IP και η θύρα του Client, στην δομή receivePoint

19 (19) Παράδειγμα UDP Echo Server Αρχείο Κώδικα : Εκτελέσιμο: EchoServer.pdf EchoServer

20 (20) Εφαρμογή Echo Client UDP Η εφαρμογή αυτή λειτουργεί παρόμοια με την προηγούμενη με την διαφορά ότι ο Client στέλνει πακέτα μόνο όταν ο χρήστης πληκτρολογήσει ένα μήνυμα και πατήσει Enter. Αρχείο Κώδικα : Εκτελέσιμο: EchoClient.pdf EchoClient


Κατέβασμα ppt "(1) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΕΞΑΜΗΝΟ: ΣΤ’ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΔΙΚΤΥΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΟΥΛΗΡΑΣ ΠΑΝΑΓΙΩΤΗΣ ΦΟΙΤΗΤΗΣ: ΠΑΠΑΠΑΝΤΕΛΗΣ ΠΑΝΤΕΛΗΣ"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google