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
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
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
Server Socket:
Grundlagen
JDK Klassen
Sockets
Client
Server
Erweiterter
Client/Server
URL Klasse
Aufgabe
Quellen
11
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
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
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 StreamOutputStream)
(sehr HTTP lastig)
14
Die URL Klasse:
Grundlagen
JDK Klassen
Sockets
Client
Server
Erweiterter
Client/Server
Ausgabe:
URL Klasse
Aufgabe
Quellen
15
Ü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
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
0 comments
Post a comment