Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -

Slides:



Advertisements
Ähnliche Präsentationen
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
Advertisements

programmiert April-Juni 2003 von Knut Riechmann
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Zusammenfassung des Kapitels 8
Programmierkurs Java WS 98/99 Vorlesung 15 Dietrich Boles 17/02/99Seite 1 Programmierkurs Java Vorlesung im WS 1998/1999 am FB Informatik der Universität.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
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 -
Verteilte Software - Java - Prozedurale Programmierung 1
Internetzugriff mit Strings und Streams
Java News & Music Der Chat
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.
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.
ARRAY oder FELD oder VEKTOR
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.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 9 IO – Streams in Java Sommersemester 2003 Lars Bernard.
Dynamische Webseiten Java servlets.
3.1.4 Leser/Schreiber-Ausschluß (reader/writer exclusion)
Objektorientierte Programmierung JDK-Klassenbibliothek
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.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
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.
Client-Server Kommunikation
Rekursive Funktionen (Fakultät)
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,
Socket-Programmierung
Netzwerkprogrammierung
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Exception Handling in Java
Praxis der Internet-Programmierung
CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002.
Die Klasse String und ihre Methoden
Optimale Ursprungsgerade
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Beispielanwendung von Java Threads
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Natürliches Programmieren
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Client-Server Kommunikation
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
Paketübertragung mit Sockets Was, wohin? Adressierung durch java.net.InetAddress Bsp: adr=InetAddress.getByName(“localhost“); Pakete sind java.net.DatagramPacket.
OOP mit Java Oder: Java in 5 Tagen. 1. Tag Klassen und Methoden Hello World in Variationen Von Menschen und Geschlechtern Horden (Schlange stehen)
Java I/O Input / Output stream Library
java.net Klassenbibliothek für den Datentransport im Netz
Mit der Turtle Java Programmieren
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Mit Java die Turtle steuern
 Präsentation transkript:

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 1 /* zeige Inhalt einer URL an */ import java.io.*; import java.net.*; public class Show_URLText { public static void main( String args[] ) { URL name; URLConnection quelle; if (args.length != 1) { System.out.println("Aufruf: java Show_URLText " ); System.exit(0); } else { try { name = new URL(args[0]); quelle = name.openConnection(); quelle.setUseCaches( false ); showText( quelle ); } catch (MalformedURLException e) { System.out.println("Protokoll der URL " + args[0] + " fehlerhaft"); } catch (IOException e) { System.out.println("Ein/Ausgabefehler"); }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 2 static void showText(URLConnection q) { BufferedReader in; String s; try { in = new BufferedReader ( new InputStreamReader( q.getInputStream() )); while( (s = in.readLine() )!= null ) System.out.println(s); } catch (IOException e) { System.out.println("Fehler :" + e + " in showText"); }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 3 /* sende ein UDP - Paket */ import java.io.*; import java.net.*; public class UDPSend { public static void main( String args[] ) { if (args.length != 3) { System.out.println( "Aufruf: java UDPSend " + " " ); System.exit( 0 ); } InetAddress iaddr; int port = Integer.parseInt(args[1]); try { DatagramSocket d_socket = new DatagramSocket(); iaddr = InetAddress.getByName(args[0]); byte[] data = new byte[args[2].length()]; data = args[2].getBytes(); DatagramPacket packet; packet = new DatagramPacket(data, data.length, iaddr, port); d_socket.send(packet); d_socket.close(); } catch (SocketException e) {System.out.println(e);} catch (UnknownHostException e){System.out.println(e);} catch (IOException e) {System.out.println(e);} }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 4 /* empfange 3 UDP Pakete */ import java.io.*; import java.net.*; public class UDPReceive { public static void main( String args[] ) { if (args.length != 1) { System.out.println("Aufruf: java UDPReceive "); System.exit(0); } int port = Integer.parseInt( args[0] ); byte[] buffer = new byte[1024]; DatagramPacket packet; DatagramSocket d_socket; packet = new DatagramPacket(buffer, buffer.length); try { d_socket = new DatagramSocket(port); for (int i = 0; i < 3; i++) { d_socket.receive(packet); String s = new String( buffer, 0, packet.getLength() ); System.out.println( "UDPReceive: from " + packet.getAddress().getHostName() + ":" + packet.getLength() + ":" + packet.getPort() + ":" + s ); packet.setLength(buffer.length); } d_socket.close(); } catch (SocketException e) {System.out.println(e);} catch (IOException e) {System.out.println(e);} }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 5 /* sende Nachricht ueber Socket zum TCP-Server und empfange von dort Antwort */ import java.io.*; import java.net.*; public class TCPClient { public static void main(String[] args) { if (args.length != 3) { System.out.println( "Aufruf: java TCPClient " + " " ); System.exit( 0 ); } try { Socket c_socket = new Socket( args[0], Integer.parseInt(args[1])); OutputStream to_server = c_socket.getOutputStream(); to_server.write(args[2].getBytes() ); BufferedReader from_server = new BufferedReader(new InputStreamReader(c_socket.getInputStream())); String antwort = from_server.readLine(); System.out.println("Der Server meldet: " + antwort); to_server.close(); from_server.close(); c_socket.close(); } catch (IOException e) { System.out.println("Kommunikationsfehler " + e.getMessage()); } }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 6 /* empfange Nachricht ueber Socket vom TCP-Client und sende dorthin Antwort */ import java.io.*; import java.net.*; public class TCPServer { public static void main(String[] args) { byte b[] = new byte[64]; String antwort = "Das ist die Antwort vom Server"; if (args.length != 1) { System.out.println( "Aufruf: java TCPServer " ); System.exit( 0 ); } try { ServerSocket s_server = new ServerSocket (Integer.parseInt(args[0])); Socket s_client = s_server.accept(); System.out.println("verbunden mit: " + s_client.getInetAddress().getHostName() + " Port: " + s_client.getPort() + " loacl Port: " + s_client.getLocalPort() ); BufferedInputStream from_client = new BufferedInputStream(s_client.getInputStream()); while (from_client.available() == 0) ; from_client.read(b); System.out.println("Message form client: " + new String(b)); OutputStream to_client = s_client.getOutputStream(); to_client.write(antwort.getBytes()); from_client.close(); to_client.close(); s_client.close(); s_server.close(); } catch (IOException e) { System.out.println("Fehler bei Kommunikation: " + e); } }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 7 /* empfange 3 Nachrichten ueber Socket vom TCP-Clients und sende jeweils eine Antwort */ /* die Verarbeitgung der Nachrichten erfolgt nebenläufig */ import java.io.*; import java.net.*; public class TCPMultiServer { public static void main(String[] args) { if (args.length != 1) { System.out.println( "Aufruf: java TCPMultiServer " ); System.exit( 0 ); } try { ServerSocket s_server = new ServerSocket (Integer.parseInt(args[0])); for(int anz = 0; anz < 3; anz++) { Socket s_client = s_server.accept(); new ServerThread(s_client, anz).start(); } s_server.close(); } catch (IOException e) { System.out.println("Fehler bei Kommunikation: " + e); }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 8 class ServerThread extends Thread { Socket s_client; public ServerThread( Socket client, int nummer) { s_client = client; System.out.println("ServerThread " + nummer + " verbunden mit: " + s_client.getInetAddress().getHostName() + " Port: " + s_client.getPort() ); } public void run() { int size; byte b[] = new byte[64]; String antwort = "Serverantwort: *"; try { BufferedInputStream from_client = new BufferedInputStream(s_client.getInputStream()); while ((size = from_client.available()) == 0) ; from_client.read(b); System.out.println("Message form client: " + new String(b)); OutputStream to_client = s_client.getOutputStream(); if (size <= b.length) for(int i = 0; i < size; i++) { sleep(300); antwort += ((char)b[i] + "*"); } to_client.write(antwort.getBytes()); from_client.close(); to_client.close(); s_client.close(); } catch (Exception e) { e.printStackTrace(); } }