Netzwerkprogrammierung unter JAVA

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Netzwerkprogrammierung unter JAVA - Presentation Transcript

    1. Netzwerkprogrammierung Dirk Groben, EGOSOFT GmbH
    2. Schwerpunkte: Grundlagen Netzwerktechnik Benötigten JDK Klassen Sockets Einfacher Client Einfacher Server Erweiterter Client/Server Die URL Klasse Übungsaufgabe Quellen und Danksagung
    3. Grundlagen: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server URL Klasse Aufgabe Quellen 3
    4. Grundlagen Grundlagen Netzwerk: JDK Klassen Sockets Server / Client Client Server Erweiterter Client/Server URL Klasse Peer to Peer (P2P) Aufgabe Quellen 4
    5. Grundlagen Client / Grundlagen Server: JDK Klassen Dienstabnehmer Dienstgeber Protokoll Sockets • Client • Server • gemeinsame Client Sprache Description of the Server contents Erweiterter Client/Server URL Klasse Aufgabe Netzwerkdienst, Dienst Netzwerkanwendung… Quellen 5
    6. Benötigten JDK Klassen: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server URL Klasse Aufgabe JAVA Sockets: Client: java.net.Socket (aktiv) Quellen Server: java.net.ServerSocket (passiv) 6
    7. Sockets: Grundlagen JDK Klassen Verbindung zwischen zwei Rechnern Sockets (Kommunikationsendpunkte) Client Verknüpfung auf Betriebssystemebene Server Adressierung über IP und Port Erweiterter Client/Server (Schnittstelle zwischen Anwendung und Netzwerkverbindung) URL Klasse Datenaustausch über Streams Aufgabe (InputStream/OutputStream) Quellen 7
    8. Einige wichtige Client-Methoden der Klasse Socket Client Socket Grundlagen (java.net.Socket): Signatur / Aufruf Erklärung Exceptions JDK Klassen Socket(String host, int port) erzeugt einen Stream-Socket und verbindet Sockets diesen mit dem angegebenen Port auf dem IOException Socket(InetAddress address, int port) angegebenen Host Client void close() zum Schließen einer Socket-Verbindung IOException Server String getHostName() liefert den Namen des Hosts - Erweiterter InetAddress getLocalHost() liefert die IP des eigenen Hosts UnknownHostException Client/Server liefert einen InputStream, den man braucht, um URL Klasse InputStream getInputStream() Daten über eine Socket-Verbindung empfangen IOException zu können Aufgabe liefert einen OutputStream, den man braucht, OutputStream getOutputStream() um Daten über eine Socket-Verbindung IOException Quellen verschicken zu können 8
    9. Client Socket: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server URL Klasse Aufgabe Quellen 9
    10. Einige wichtige Server-Methoden Server Socket Grundlagen (java.net.ServerSocket): Signatur / Aufruf Parameter Erklärung Exceptions JDK Klassen Port auf dem auf eine es wird ein Server erzeugt, der auf Sockets ServerSocket(int port) Client-Abfrage gewartet dem übergebenen Port auf Clients IOException werden soll wartet Client Server nachdem eine Client-Anfrage eingetroffen ist besteht beim Server Socket accept() IOException die Möglichkeit, die Verbindung zu Erweiterter akzeptieren. (Blockiert!) Client/Server URL Klasse gibt eine bestimmte Zeit vor, nach void setSoTimeout(int Wartezeit in Milli- der das Warten auf Client-Anfragen SocketException Sekunden timeout) Aufgabe gestoppt wird Quellen das Warten auf Client-Anfragen void close() IOException wird beendet 10
    11. Server Socket: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server URL Klasse Aufgabe Quellen 11
    12. Erweiterter Client & Server: Grundlagen JDK Klassen Wenn Server verarbeitet Client Socket Sockets oder zwei gleichzeitig verbinden Client Server Client Server Erweiterter Client/Server URL Klasse Aufgabe Lösung: Logik/Programmteil in eigenen Thread, Quellen für jede Socketverbindung ein Thread 12
    13. Die URL Klasse: Grundlagen JDK Klassen Uniform Ressource Locator Sockets Das Adressformat für eine Ressource im WWW Client Repräsentiert eine Internet Adresse Server (und somit einen Server) Erweiterter Client/Server Klasse aus Protokoll, Hostname, Verzeichnis und URL Klasse Dateinamen Aufgabe Zusätzliche Funktionalität gegenüber einfacher Quellen Socket Klasse 13
    14. Die URL Klasse: Grundlagen JDK Klassen Signatur / Aufruf Parameter Erklärung Exceptions Sockets URL(string adresse) Adresse = URL es wird ein URL Objekt erzeugt MalformedURLException URL(string protocol, string mit Zeiger auf eine Ressource ansonsten einzeln Client im WWW host, int port, übergeben (keine gültige URL oder string file) unbekanntes Protokoll) Server Erweiterter Öffnet Verbindung und Client/Server ermöglicht auslesen des InputStream IOException Streams openStream() URL Klasse (openConnection().getInputStream()) Aufgabe Verbindung zwischen Applikation und Remote Server URLConnection (Auslesen aber auch schreiben IOException Quellen openConnection() in den StreamOutputStream) (sehr HTTP lastig) 14
    15. Die URL Klasse: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server Ausgabe: URL Klasse Aufgabe Quellen 15
    16. Übungsaufgabe: Grundlagen JDK Klassen Schreiben Sie einen WWW Client der die IMDB - Webseite nach speziellen Daten durchsucht. Sockets Client Nutzen Sie die URL Klasse. Server Geben Sie das Rating für einen Film dynamisch aus. Erweiterter Client/Server Dazu muss der Benutzer nur die URL eingeben, den Rest erledigt Ihre Logik. URL Klasse Aufgabe Nehmen Sie als Beispiel die URL: http://www.imdb.com/title/tt0094012/ Quellen 16
    17. Quellen: Grundlagen JDK Klassen http://openbook.galileocomputing.de/javainsel8/ Sockets http://de.wikibooks.org/wiki/Java_Standard:_Socket_ServerSocket_(java.net)_UDP_und_TCP_IP Client http://de.wikipedia.org/wiki/Client-Server-Modell http://de.wikipedia.org/wiki/Peer-to-Peer Server http://de.wikipedia.org/wiki/Netzwerkdienst Erweiterter Client/Server http://www.lehrer.uni-karlsruhe.de/~za220/htm/kurse/java/Client-Server/ClientServer1.htm URL Klasse Vielen Dank für Ihr Interesse. Aufgabe Quellen 17

    + Dirk GrobenDirk Groben, 6 months ago

    custom

    700 views, 0 favs, 0 embeds more stats

    Netzwerkprogrammierung unter JAVA

    Inhalt:

    - S more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 700
      • 700 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories