Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,

Slides:



Advertisements
Ähnliche Präsentationen
programmiert April-Juni 2003 von Knut Riechmann
Advertisements

der Universität Oldenburg
Kirsten Kropmanns Allgemeine Technologien II 21. April 2009
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Internetzugriff mit Strings und Streams
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Ausnahmen HS Merseburg (FH) WS 06/07.
Java News & Music Der Chat
Daten Anzeigen und Ausdrucken Zu Zeigende Daten (z.B. Studentenplan) Daten in XML müssen geparst und in PDF- Format umgewandelt werden. Dazu iTEXT Bibliothek.
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
Indirekte Adressierung
FH-Hof Sockets in Java Richard Göbel. FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse.
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
SWITCH - Anweisung.
Verzweigung oder bedingte Anweisung Weiter mit PP.
IF-ELSE-IF-Ketten Weiter mit PP..
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Internet und seine Dienste
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
Einführung in die Technik des Internets
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
Verzweigung.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Aufbau einer Verbindung zur Datenbank import java.net.URL; import java.sql.*; class JDBCExample.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Einführung Servlets/JSPs
3 Wie funktioniert TCP/IP?
Mit Schülern ein internetfähiges Netzwerk aufbauen
Socket-Programmierung
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Netzwerkprogrammierung
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
Praxis der Internet-Programmierung
CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002.
Objektorientiertes Konstruieren
Variablenkonzept Klassisch, in Java Basistyp
Netzwerke.
Optimale Ursprungsgerade
Starten der Entwicklungsumgebung (IDE)
Learning By Doing Ausnahmebehandlung Exceptions (Ausnahmebehandlung) Typische Fehlverhalten zur Laufzeit: s. Buch S. 287ff -Verwendung von null-Objekten.
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Netzwerke.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Methoden
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Kirsten Kropmanns Allgemeine Technologien II 9. März 2009
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
OOP mit Java Oder: Java in 5 Tagen. 1. Tag Klassen und Methoden Hello World in Variationen Von Menschen und Geschlechtern Horden (Schlange stehen)
Ein-/ Ausgabe in Java ein Überblick. © eigentlich ganz einfach ? Ein-/Ausgabe durch package java.io Ausgabe (auf Konsole) mit System.out.println()
Netzwerk - Programmierung
Java I/O Input / Output stream Library
Java I/O Input / Output stream Library
Netzwerk - Programmierung
Netzwerk - Programmierung
Tutorstunde 10.
 Präsentation transkript:

Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol, IP: Internet Protocol) Jedes teilnehmende Gerät (Computer, Drucker, usw.), Knoten genannt, besitzt eine ein- deutige IP-Adresse aus 4 bytes = 32 bit, in der gepunkteten Form nnn.nnn.nnn.nnn, wo nnn eine Dezimalzahl zwischen 0 und 255 ist, beispielsweise Ein hierarchischer Domain Name Service (DNS) erlaubt die Verwendung von IP-Aliasis, z.B. Unter TCP/IP werden die Informationen paketweise übertragen. Es ist fehlertolerant, da an Hand einer Prüfsumme Fehler erkannt und ein fehlerhaftes Paket neu angefordert werden TCP/IP beruht auf einer Client-Server-Hierarchie und nicht auf einem Netzwerk gleichwertiger Knoten (kein peer-to-peer) Request Response Client Client Client Server Demon Port 80 Demon Port Ein Client führt einen Request an eine bestimmte IP-Adresse mit Angabe eines bestimmten Ports ( ) aus. Ein Demon des Servers überwacht diesen Port, nimmt den Request entgegen, verarbeitet ihn und liefert einen Response an den Client zurück s. Buch S. 503ff

Learning By Doing Sockets Sockets legen so viele Schichten über die Komplexität der Netzwerkverbindungen, dass diese wie ein Datenstrom (Stream), analog einer Dateioperation, aufgefasst werden können Einen Socket kann man auch als Zugangspforte eines IP-Verbindungskanals zwischen einem Server (Host) und einem Client auffassen Für einen Client sind die wichtigsten Socket-Operationen: Für einen Server kommen noch folgende Operationen hinzu: - Verbindung erstellen (open) - Daten senden (send) - Daten empfangen (read) - Verbindung beenden (close) - Binden eines IP-Ports (bind) - Verbindungsaufforderung annehmen (accept) In Java werden Sockets ausserordentlich gut unterstützt, Socket-Programmierung ist daher verglichen mit anderen Programmiersprachen mit wenig Aufwand verbunden Socket-Programmierung ist im Internet-Zeitalter sehr motivierend und eignet sich gut für den thematischen Unterricht und Maturaarbeiten

Learning By Doing Daytime Client // WbzEx20.java import java.net.*; import java.io.*; import ch.aplu.util.*; public class WbzEx20 extends Console { private static final String HOSTNAME = "ntp1.ptb.de"; private static final int PORT = 13; public WbzEx20() { BufferedReader reader = null; Socket socket = null; String line; println("Trying to connect to " + HOSTNAME + "..."); try { socket = new Socket(HOSTNAME, PORT); println("Connection established"); socket.setSoTimeout(15000); // 15 sec reader = new BufferedReader( new InputStreamReader( socket.getInputStream())); println("Response:"); while ((line = reader.readLine()) != null) { println(line); } catch (IOException ex) { println("Error " + ex); } finally { try { if (reader != null) reader.close(); if (socket != null) socket.close(); } catch (IOException ex) {} } public static void main(String args[]) { new WbzEx20(); } Daytime-Client Nach der Annahme der Verbindung auf Port 13 sendet der Server einen String mit der aktuellen Datums-Zeit Phys.-Techn. BundesanstaltVerbindung erstellen Daten vom Host lesen blockierend Stream erzeugenDaten aus- schreiben Stream und Socket schliessen Timeout für readline()

Learning By Doing Web-Reader // WbzEx20a.java... (wie WbzEx20.java) public class WbzEx20a extends Console { private static final String HOSTNAME = " private static final int PORT = 80; public WbzEx20a() { BufferedReader reader = null; Socket socket = null; String line; println("Trying to connect to " + HOSTNAME + "..."); try { socket = new Socket(HOSTNAME, PORT); socket.setSoTimeout(15000); // 15 sec println("Connection established"); PrintWriter out = new PrintWriter(socket.getOutputStream()); out.print("GET / HTTP/1.0\r\n\r\n"); out.flush(); reader = new BufferedReader( new InputStreamReader(socket.getInputStream())); println("Response:"); while ((line = reader.readLine()) != null) { println(line); }... (wie WbzEx20.java) Web-Reader Nach der Annahme der Ver- bindung auf Port 80 sendet der Client den HTTP-String GET / HTTP/1.0 gefolgt von zwei Leerzeilen Output-Stream erzeugen Stream leeren, damit mit Sicherheit ausgeschrieben HTTP GET-Request Response lesen und ausschreiben