Netzwerkprogrammierung




           Dirk Groben, EGOSOFT GmbH
Schwerpunkte:
Grundlagen Netzwerktechnik
Benötigten JDK Klassen
Sockets
Einfacher Client
Einfacher Server
Erweiterter Clie...
Grundlagen:
Grundlagen



JDK Klassen



  Sockets



   Client



   Server



 Erweiterter
Client/Server



 URL Klasse
...
Grundlagen
Grundlagen


                Netzwerk:
JDK Klassen



  Sockets


                     Server / Client
   Clien...
Grundlagen Client /
Grundlagen

                       Server:
JDK Klassen



                Dienstabnehmer     Dienstgeb...
Benötigten JDK Klassen:
Grundlagen



JDK Klassen



  Sockets



   Client



   Server



 Erweiterter
Client/Server



...
Sockets:
Grundlagen



JDK Klassen

                   Verbindung zwischen zwei Rechnern
  Sockets
                   (Kom...
Einige wichtige Client-Methoden der Klasse Socket




                      Client Socket
    Grundlagen
                 ...
Client Socket:
Grundlagen



JDK Klassen



  Sockets



   Client



   Server



 Erweiterter
Client/Server



 URL Klas...
Einige wichtige Server-Methoden




                      Server Socket
    Grundlagen
                                   ...
Server Socket:
Grundlagen



JDK Klassen



  Sockets



   Client



   Server



 Erweiterter
Client/Server



 URL Klas...
Erweiterter Client & Server:
Grundlagen



JDK Klassen

                    Wenn Server verarbeitet Client Socket
  Socket...
Die URL Klasse:
Grundlagen



JDK Klassen


                    Uniform Ressource Locator
  Sockets
                    Da...
Die URL Klasse:
Grundlagen



JDK Klassen          Signatur / Aufruf           Parameter                   Erklärung      ...
Die URL Klasse:
Grundlagen



JDK Klassen



  Sockets



   Client



   Server



 Erweiterter
Client/Server



        ...
Übungsaufgabe:
Grundlagen



JDK Klassen

                Schreiben Sie einen WWW Client der die IMDB -
                We...
Quellen:
Grundlagen



JDK Klassen


                 http://openbook.galileocomputing.de/javainsel8/
  Sockets

         ...
Upcoming SlideShare
Loading in...5
×

Netzwerkprogrammierung unter JAVA

2,144

Published on

Netzwerkprogrammierung unter JAVA

Inhalt:

- SUN MicroSystems (Stanford University Network Project)
- "Network is the Computer"
- Grundlagen Netzwerktechnik
- Benötigte JDK Klassen
- Sockets
- Einfacher (1 Threaded) Client
- Einfacher (1 Threaded) Server
- Unterschied einfacher/erweiterter Client/Server
- Die URL Klasse
- Übungsaufgabe

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,144
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Netzwerkprogrammierung unter JAVA

  1. 1. Netzwerkprogrammierung Dirk Groben, EGOSOFT GmbH
  2. 2. Schwerpunkte: Grundlagen Netzwerktechnik Benötigten JDK Klassen Sockets Einfacher Client Einfacher Server Erweiterter Client/Server Die URL Klasse Übungsaufgabe Quellen und Danksagung
  3. 3. Grundlagen: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server URL Klasse Aufgabe Quellen 3
  4. 4. Grundlagen Grundlagen Netzwerk: JDK Klassen Sockets Server / Client Client Server Erweiterter Client/Server URL Klasse Peer to Peer (P2P) Aufgabe Quellen 4
  5. 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. 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. 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. 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. 9. Client Socket: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server URL Klasse Aufgabe Quellen 9
  10. 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. 11. Server Socket: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server URL Klasse Aufgabe Quellen 11
  12. 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. 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. 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. 15. Die URL Klasse: Grundlagen JDK Klassen Sockets Client Server Erweiterter Client/Server Ausgabe: URL Klasse Aufgabe Quellen 15
  16. 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. 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

×