CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

Größe: px
Ab Seite anzeigen:

Download "CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)"

Transkript

1 Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 8 Th Letschert FH Gießen-Friedberg

2 Nebenläufige und verteilte Programme Netzwerk-Programme - Grundlagen TCP/IP und Sockets - Abstraktionen oberhalb der Socket-Ebene - Software-Struktur: Server-Architektur, Schichten / Protokolle 2

3 Nebenläufige und verteilte Programme TCP/IP und die Socket-Kommunikation 3

4 Socket-Abstraktionen: Zugriff auf Schicht-4-API in Sprachen integriert Java (Package java.net) ServerSocket lokale Adr: IP+Port Server: accept Socket Client: ferne Adr: IP+Port Verbindungsaufbau, Server: autom: ferne Adr Komminikation als Klassenbibliotheken z.b. C++: ACE (Adapitve Communication Environment) etc.: diverse andere Kommunikation C# (Namespace system.net) low-level: Socket IPEndPoint, IPAddress,... high-level: TCP-Client TCP-Listener andere: Perl, TCL, Python,... 4

5 Infrastruktur der Kommunikation Anwendung nutzt Kommunikations-Infrastruktur via BS-Schnittstelle Betriebssystem / Rechnerhardware: enthält Implementierung der (End-) Protokolle Netz: transportiert Signale, enthält Implementierung der (Netz-) Protokolle Sockets: (de-facto) Standard zur Gestaltung der Komm.-Schnittstelle zum BS Anwendung Anwendung API (Sockets) API (Sockets) 4 (TCP/UDP) (virtuelle) Schicht-4 Ende-zu-Ende-Kommunikation BS 3 (IP) 3 (IP) 2 (Ethernet) 1 Hardware 3 (IP) 4 (TCP/UDP) 3 (IP) BS Hardware 5

6 Prinzip der TCP/IP Kommunikation Anwendung Netzprotokoll IP Identifikation der Rechnerschnittstelle durch IP-Adresse TCP Impl ungesicherte Paket-orientierte Kommunikation duplex: Datentransfer in beide Richtungen IP Impl Ethernet Impl Ende-zu-Ende-Protokoll UDP Identifikation der Anwendungsschnittstelle durch Port-Nr. ungesicherte Paket-orientierte Kommunikation Ende-zu-Ende-Protokoll TCP Rahmen HW-Adr Protokoll: IP IP-Paket IP-Addr Protokoll: TCP Identifikation der Anwendungsschnittstelle durch Port-Nr. gesicherte Strom-orientierte Kommunikation über Client-Server Verbindungen TCPPaket AnwendungsPaket Port 4711 NutzDaten Paket-Verschachtelung und Adressierung 6

7 Socket Kommunikation Sockets: TCP / UDP Dienste als BS-Schnittstelle Identifikation durch IP-Adresse eigne und fremde IP-Adresse Identifikation durch Port-Nr. setzt setzt IP, Port UDP kennt IP, Port Paket eigne und fremde Port-Nr. Wahl zwischen UDP- und TCP-Kommunikation Anwendung Anwendung UDP- Kommunikation: Pakete packen und versenden Datenpakete senden / empfangen TCP: Verbindung aufbauen / annehmen nicht symetrisch: Server: nimmt Verbindung an Client: baut Verbindung auf Bytes über Verbindung senden / empfangen Verbindung abbauen setzt Anwendung (Client) IP, Port Bytes Anwendung (Server) kennt IP, Port Bytes TCP- Kommunikation: Verbindungen aufbauen Bytes senden 7

8 Socket Kommunikation Socket (Steckdose): SAP (Service Access Point) Verbindungsendpunkt der Schicht-4: SAP ~ Socketadresse = IP-Adresse + Port-Nummer entsprechend der Konzeption von TCP und UDP eigenen SAP bereitstellen Socket als SAP erzeugen Socket an Socketadresse binden Kommunikation / Verbindungswünsche an Socket erwarten fremden SAP nutzen Socket erzeugen Daten via eigenen Socket an fremde Socketadresse senden eigenen Socket mit fremder Socketadresse verbinden 8

9 Socket-Kommunikation in Java Socket-Kommunikation in die JSE-API integriert (Paket java.net) Umschlag- (Wrapper-) Klassen für Sockets: Socket java.net.socket verbindungsorientierte Kommunikation, Datenaustausch, Client und Server ServerSocket java.net.serversocket verbindungsorientierte Kommunikation, Server erwartet Verbindung DatagramSocket java.net.datagramsocket verbindungslose Kommunikation, Datenaustausch beide Partner Diverse Hilfsklassen DatagramPacket Datenpaket bei UDP (verbindungsloser) Komm. InetAddress Umschlag-Klasse für IP-Adressen SocketAddress IP-Adress + Port... 9

10 Nebenläufige und verteilte Programme Verbindungsorientierte Socket-Kommunikation 10

11 Verbindungsorientierte Kommunikation via Sockets: BS/API-Ebene socket socket bind listen accept connect read/write read/write close close Server Client Socket-API: Funktionen und ihre Verwendung für eine verbindungsorientierte Kommunikation auf der Ebene des Betriebssystems 11

12 Verbindungsorientierte Kommunikation: Server akzeptiert Verbindung Server: Stelle Port zur Verfügung, Akzeptiere Verbindung vom Client 1. Server: Erzeuge Server-Socket ServerSocket serversock = new ServerSocket(4711); 2. Server: Erwarte Verbindungswunsch eigene Adresse setzen (IP/Port, IP-Adr. implizit) Socket sock = serversock.accept(); 3. Client: verbindet sich Socket sock = new Socket('' '', 4711); fremde Adresse (IP/Port) angeben Die Kommunikation kann jetzt beginnen Client 4711: Port an dem Verbindungswünsche angenommen werden. Verbindungsaufbau 4711 Server Verbindung (Kommunikationsweg) : Server-seitiger Endpunkt für Verbindungswünsche : Server-seitiger Endpunkt der aufgebauten Verbindung. 12

13 Verbindungsorientierte Kommunikation: Client baut Verbindung auf Client baut Verbindung zum Server auf 1. Stelle Verbindung zum Server her Socket socket = new Socket('' '', 4711); fremde Adresse angeben (IP/Port) eigene Adresse (IP, Port) wird implizit gesetzt Die Kommunikation kann jetzt beginnen 4711 Verbindungsaufbau Client Server Verbindung (Kommunikationsweg) Client gibt die Serveradresse an. Die eigene Adresse wird implizit gesetzt. Beim Verbindungsaufbau wird die Client-adresse dem Server bekannt gegeben. Die Anwendung muss sich nicht um die Adressen der Kommunikationsendpukte (z.b.: 3599) kümmen. 13

14 Verbindungsorientierte Kommunikation: Daten empfangen Client empfängt Daten vom Server 1. Stelle Verbindung zum Server her Socket sock = new Socket('' '', 4711); 2. Erzeuge InputStreamReader aus dem Eingabestrom der Verbindung InputStreamReader stream = new InputStreamReader(sock.getInputStream()); 3. Erzeuge einen BufferedReader BufferedReader reader = new BufferedReader(stream); 4. Lies String msg = reader.readline(); Daten BufferedReader InputStreamReader Socket input stream Server Client 14

15 Verbindungsorientierte Kommunikation: Daten empfangen Server empfängt Daten vom Client 1. Verbindungsaufbau durch Client Socket serversock = new ServerSocket('4711); Socket sock = serversock.accept(); 2. Erzeuge InputStreamReader aus dem Eingabestrom der Verbindung InputStreamReader stream = new InputStreamReader(sock.getInputStream()); 3. Erzeuge einen BufferedReader BufferedReader reader = new BufferedReader(stream); 4. Lies String msg = reader.readline(); Daten Socket input stream Client InputStreamReader BufferedReader Server 15

16 Verbindungsorientierte Kommunikation: Daten senden Client / Server sendet Daten zum Server / Client 1. Verbindungsannahme durch Server Serverseite: Verbindungsaufbau durch Client Clientseite Socket serversock = new ServerSocket('4711); Socket sock = new Socket('' '', 4711); Socket sock = serversock.accept(); 2. Erzeuge Printwriter aus dem Ausgabestrom der Verbindung PrintWriter writer = new PrintWriter(sock.getOutputStream()); 3. Schreibe (Sende) writer.println(''hallo Du da, alles klar?'') Daten PrintWriter Socket output stream Client / Server Server / Client 16

17 Verbindungsorientierte Kommunikation Daten Daten BufferedReader PrintWriter InputStreamReader Socket input stream Socket output stream der Partner Ich symmetrische Struktur der Kommunikation bei Client und Server 17

18 Verbindungsorientierte Kommunikation: Beispiel Server public class EchoServer { static final int ECHO_PORT = 4713; public static void main(string[] args) { try { ServerSocket serversock = new ServerSocket(ECHO_PORT); while ( true ) { Socket sock = serversock.accept(); PrintWriter pw = new PrintWriter(sock.getOutputStream()); InputStreamReader stream = new InputStreamReader(sock.getInputStream()); BufferedReader reader = new BufferedReader(stream); String msg = reader.readline(); String response = "Echo: "+ msg; pw.println(response); pw.flush(); reader.close(); pw.close(); sock.close(); } } catch (IOException e) { e.printstacktrace(); } } } 18

19 Verbindungsorientierte Kommunikation: Beispiel Client public class EchoClient { public static void main(string[] args) { Socket sock; try { sock = new Socket(" ", EchoServer.ECHO_PORT); PrintWriter pw = new PrintWriter(sock.getOutputStream()); InputStreamReader stream = new InputStreamReader(sock.getInputStream()); BufferedReader reader = new BufferedReader(stream); pw.println("hallo"); pw.flush(); String response = reader.readline(); System.out.println("Received from Server: "+ response); reader.close(); pw.close(); sock.close(); } catch (IOException e) { e.printstacktrace(); } } } 19

20 Verbindungsorientierte Kommunikation Sockets bauen Verbindung auf durch Konstruktoren: public Socket(String host, int port) throws UnknownHostException,IOException public Socket(InetAddress address, int port) throws IOException public Socket(String host, int port, InetAddresslocalAddr, int localport) throws IOException public Socket(InetAddress address, int port, InetAddresslocalAddr, int localport) throws IOException Der entfernte Rechner und der entfernte Port müssen mindestens angegeben werden Der entfernte (oder eigene) Rechner kann angegeben werden als String (Rechner-Name oder dotted-decimal IP-Adresse) oder als Objekt vom Typ InetAddress Der Port ist Bereich 1 bis (1 bis 1023 auf Unix für root reserviert) Der entfernte Rechner muss am angegebenen Port auf Verbindungen warten Ein Socket kann immer nur mit einem anderen verbunden sein 20

21 Verbindungsorientierte Kommunikation Server-Sockets durch Konstruktoren an SocketAdresse binden: public ServerSocket(int port) throws IOException public ServerSocket(int port, int backlog) throws IOException public ServerSocket(int port, InetAddress int backlog, bindaddr) throws IOException Der eigene Port muss mindestens angegeben werden (0 ~ irgendein freier Port) Der eigene Rechner kann angegeben werden als Objekt vom Typ InetAddress wird keine Adresse angegeben dann bindet sich der Socket an den Port bei allen verfügbaren IP-Adressen (Schnittstellen) des Rechners Ankommende Verbindungswünsche werden bei Bedarf gepuffert, backlog setzt Puffergröße Über einen ServerSocket können sich viele Clients mit einem Server verbinden An einen Port (pro IP-Adresse) kann nur ein ServerSocket gebunden sein accept blockiert bis ein Verbindungswunsch eintrifft und liefert dann ein Socket -Objekt das zur Kommunikation genutzt werden kann 21

22 Nebenläufige und verteilte Programme Verbindungslose Socket-Kommunikation 22

23 Verbindungslose Kommunikation (UDP-Protokoll) User Datagram Protocol UDP verbindungsloses IP-Transport-Protokoll (Schicht-4) UDP ist paketorientiert, Paket = Datagramm ~ IP-Paket keine Fehler- / Fluss-Kontrolle schneller / einfacher als TCP im LAN oft ausreichend sicher UDP Nutzung via Socket-API Paket-orientierte Kommunikation (statt Strom-orientiert) Pakete senden / empfangen (statt Bytes schreiben / lesen) Symmetrische Struktur (statt Client vs. Server) 23

24 Verbindungslose Kommunikation (UDP-Protokoll) UDP-Unterstützung in Java Klasse DatagrammPaket Zum Senden und Empfangen von Datenpaketen beinhaltet Daten (Byte-Array) theoretische maximale Paketgröße: Bytes realistische (Netz-unterstützte) Größe: 8192 Bytes beinhaltet Socket-Adresse (IP + Port) Konstuktor auf der Empfangsseite (Adresse ergibt sich empfangenem Paket): Konstruktor auf der Sendeseite DatagramPacket (byte [] data, int length) DatagramPacket (byte [] data, int length, InetAddress address, int port) Die Klasse DatagramSocket kann zum Senden und Empfangen verwendet werden 24

25 Verbindungslose Kommunikation: Beispiel 1 Server / 1 public class UdpServer { public static void main(string[] args) { try { if (args.length!= 1) { System.out.println("Aufruf: server <port>"); System.exit(0); } int port = Integer.valueOf(args[0]).intValue(); // Socket anlegen und mit eigener Adress versehen // DatagramSocket dtgrmsocket = new DatagramSocket(port); System.out.println("Erwartet Daten auf Port " + port); // Datenpaket zum Empfang von Daten bauen // byte[] buf = new byte[256]; DatagramPacket rcvpkt = new DatagramPacket(buf, buf.length); while (true) { try { // Daten empfangen dtgrmsocket.receive(rcvpkt); 25

26 Verbindungslose Kommunikation: Beispiel 1 Server / 2 // empfangene Daten ausgeben System.out.println( "Server hat Daten empfangen: " + new String(rcvpkt.getData(), 0, rcvpkt.getlength()) ); // Absender Adresse und Port feststellen: InetAddress clientadr = rcvpkt.getaddress(); int clientport = rcvpkt.getport(); System.out.println("Von Rechner: " + clientadr.gethostaddress() + " an Port: "+clientport); // Baue Antwort Paket und sende Antwort: DatagramPacket sndpkt = new DatagramPacket(buf, buf.length, clientadr, clientport); dtgrmsocket.send(sndpkt); } catch (IOException e) { System.err.println("FEHLER"); System.exit( 1); } }//while } catch (IOException e) { System.err.println("FEHLER"); System.exit( 1); } // try catch }//main } 26

27 Verbindungslose Kommunikation: Beispiel 2 Client / 1 public class UdpClient { public static void main(string[] args) { if (args.length!= 2) { System.out.println("Aufruf: client <server> <port>"); System.exit(0); } // Adressdaten des Partner bestimmen: // String host = args[0]; // Name oder IP Adr als String InetAddress serveraddress = null; // Adresse (wird noch festgetellt) int port = Integer.valueOf(args[1]).intValue(); // Port // Datagramm Socket anlegen // DatagramSocket dtgrmsocket = null; try { dtgrmsocket = new DatagramSocket(); } catch (SocketException e) { System.err.println("FEHLER: Kann Socket nicht erzeugen!"); System.exit( 1); } 27

28 Verbindungslose Kommunikation: Beispiel 2 Client / 2 // IP Adresse als Binaerwert feststellen: try { serveraddress = InetAddress.getByName(host); } catch (UnknownHostException e) { System.err.println(e); System.exit( 1); } // Datenpaket bauen: String msg = "Hallo wer da?"; byte buf[] = msg.getbytes(); DatagramPacket pkt = new DatagramPacket( buf, buf.length, // Daten serveraddress, port); // Zieladresse // Paket senden: try { dtgrmsocket.send(pkt); } catch(ioexception e) { System.err.println("Send Fehler " + e); System.exit( 1); } // Antwort empfangen: try { dtgrmsocket.receive(pkt); } catch(ioexception e) { System.err.println(e); System.exit( 1); } System.out.println("Client hat empfangen: " +new String(pkt.getData())); } } 28

29 Verbindungslose Kommunikation java.net.datagrampacket Umschlag um zu sendende / zu empfangende Daten als Byte-Array Enthält Adresse (IP + Port) des Ziels der Sendung / des Senders java.net.datagramsocket Verbindung mit lokaler Adresse (IP + Port) Via DatagramSocket kann zu unterschiedlichen Zielen gesendet werden (Ziel-Adress-Info steckt im Paket nicht im Socket) UDP-Ports im Bereich 1 bis 65,536, völlig unabhängig von TCP-Ports. DatagramPacket Konstruktoren Empfängerseite: public DatagramPacket( byte[] data, int length) Senderseite: public DatagramPacket( byte[] InetAddress data, int length, iaddr, int iport) 29

30 Adress-Informationen java.net.inetaddress Umschlag-Klasse für IP-Adresse Enthält Routinen zur Adressauflösung, z.b.: public static InetAddress getbyname(string host) throws UnknownHostException 30

31 Datagramme senden Daten in Bytes konvertieren und in Byte-Array speichern Erzeuge DatagramPacket aus: Byte-Array Anzahl der zu sendenden Bytes (i.d.r. Länge des Arrays) IP-Adresse als InetAddress -Objekt Port-Nr Erzeuge DatagramSocket aktiviere dessen send -Methode mit DatagramPacket als Argument 31

32 Datagramme empfangen Erzeuge DatagramSocket -Objekt mit lokalem Port (+ eventuell IP-Adresse) über den (die) empfangen werden soll receive aufrufen mit leerem DatagramPacket -Objekt blockiert bis Daten-Paket eintrifft Leeres DatagramPacket -Objekt wird bei Empfang gefüllt Mit den DatagramPacket -Methoden : getport() getaddress() kann festgestellt werden woher die Daten kommen und getdata() getlength() liefern die empfangenen Daten als Byte-Array und dessen Länge 32

33 Abstraktionen oberhalb der Socket-Ebene in Java Einfache Abstraktionen über der Socket-Ebene in Java: URL 33

34 URL Uniform Resource Locator Ein URL lokalisiert Web-Ressourcen: Wo und wie finde ich etwas Beispiele: shttp://meine.bank.de URL Aufbau Beispiel Scheme (Protocol) Zugriffsprotokoll http Authority Besitzer Path lokaler Weg zur Ressource /home/~hg51/index.html Query-String Suche in der Ressource searchstring=java Fragment Id (Ref) Index in der Ressource #intro einzelne Bestandteile können fehlen 34

35 URL Uniform Resource Locator Syntax / Beispiel (aus RFC 3986): foo://example.com:8042/over/there?name=ferret#nose foo Schema example.com:8042 Authority /over/there Path name=ferret Query nose Fragment Zeichensatz: US-ASCII-Zeichen in der Codierung 'der Umgebung' (umgebender Text / Übertragungs-Protokoll) a.. z, A.. Z, 0.. 9, -,., _, ~ (Alphanumerisch, Punkt, Bind-/Unterstrich, Tilde) Zeichen mit besonderer Bedeutung: /? # [ :! $ & ' ( ) * +, ; = % %HEX-Code für alle anderen und die mit besonderer Bedeutung z.b. %25 für %. Sonderformen möglich, z.b. + für ' ' (Blank) Hexcode ist abhängig von der (impliziten) Codierung! 35

36 URL in Java java.net Class URL Umschlagklasse für einen URL: java.net.url mit: Konstruktoren zur Konstruktion getter-/setter-methoden für die URL-Komponenten Methoden zum Aufbau einer Verbindung zur Ressource Verbindungsaufbau basiert auf Protocol-Handler Protocol-Handler von JVM implementiert (abhängig von der JVM) von der Anwendung zur Verfügung gestellt 36

37 URL in Java Beispiel : Test welche Protokoll-Handler stellt die JVM zur Verfügung? import java.net.malformedurlexception; import java.net.url; public class JVMProtocolHandler { public static void main(string[] args) { String[] standardprotocols = { "http", "https", "ftp", "mailto", "telnet", "file", "ldap"}; for ( String p : standardprotocols) try { URL url = new URL(p+"://some.where"); System.out.println(p + "\t is OK"); } catch(malformedurlexception e) { System.out.println(p + "\t is not supported"); } } } mögliche Ausgabe Die Tests auf Wohlgeformtheit der URL sind grob und nicht Protokollspezifisch (z.b. mailtourl ist nicht korrekt). Die Verfügbarkeit des Handlers wird geprüft. - Kein Test ob die URL erreichbar ist. http https ftp mailto telnet file ldap is is is is is is is OK OK OK OK not supported OK not supported 37

38 Zugriff auf URL-Ressource java.net Class URL Zugriff auf die Daten der Ressource auf die eine URL zeigt mit Hilfe der URL-Methoden: InputStream openstream(); verbindet sich mit der Ressource liefert InputStream zum Lesen der Daten URLConnection openconnection(); erzeugt Verbindung zur Ressouce zm lesen / schreiben von Daten, Zugriff auf weitere Info URLConnection openconnection(proxy proxy); erzeugt Verbindung via Proxy Object getcontent(); liest Daten der Ressource und erzeugt ein Objekt aus diesen Daten Object getcontent(class[] classes); liest Daten und erzeugt ein Objekt daraus, die Klassen sind Vorschläge für die Klasse des neu erzeugten Objekts 38

39 Zugriff auf URL-Ressource / Beispiel openstream public class URLViewer { public static void main(string[] args) { Scanner scan = new Scanner(System.in); String urlstring = scan.nextline(); try { URL url = new URL(urlString); InputStream ins = url.openstream(); int c; while ( (c = ins.read())!= 1 ) { System.out.print((char)c); } } catch (MalformedURLException e) { System.err.println("malformed url "+e); } catch (IOException e) { e.printstacktrace(); } } } erzeugt: Zugriff auf lokalen Tomcat mit der URL-Eingabe: <!doctype html public "-//w3c//dtd html 4.0 transitional//en" "http://www.w3.org/tr/rec-html40/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>apache Tomcat/5.0</title>... etc... 39

40 Zugriff auf URL-Ressource / Beispiel getcontent public class URLContentGetter { public static void main(string[] args) { Scanner scan = new Scanner(System.in); String urlstring = scan.nextline(); Class[] urltypes = { String.class, Image.class, InputStream.class }; try { URL url = new URL(urlString); Object obj = url.getcontent(urltypes); if ( obj instanceof String ) { System.out.println("String found at "+urlstring); } else if ( obj instanceof Image ) { System.out.println("Image found at "+urlstring); } else if ( obj instanceof InputStream ) { System.out.println("InputStream found at "+urlstring); } else System.out.println("Can not handle "+urlstring); } catch (MalformedURLException e) { System.err.println("malformed url "+e); } catch (IOException e) { e.printstacktrace(); } } } Eingabe: file:///home/thomas/documents/pictures/applelogo.gif Ausgabe: Image found at file:///home/thomas/documents/pictures/applelogo.gif 40

41 Zugriff auf URL-Ressource / Beispiel openconnection public class ConnectionOpener { public static void main(string[] args) { Scanner scan = new Scanner(System.in); String urlstring = scan.nextline(); try { URL url = new URL(urlString); URLConnection connection = url.openconnection(); System.out.println(connection.getContentEncoding()); System.out.println(connection.getContentType()); Object obj = connection.getcontent( new Class[]{ String.class, InputStream.class}); if ( obj instanceof String ){ System.out.println("String found: "+(String)obj); } if ( obj instanceof InputStream ){ System.out.println("InputStream found "); } } catch (MalformedURLException e) { System.err.println("malformed "+e); } catch (IOException e) { e.printstacktrace(); } } } Eingabe: Ausgabe: null text/html;charset=iso InputStream found 41

42 Abstraktionen oberhalb der Socket-Ebene in Java Einfache Abstraktionen über der Socket-Ebene in Java: URI 42

43 URI Uniform Resource Identifier Ein URI identifiziert eine Ressource Verallgemeinerung der URL URL lokalisiert URI identifiziert die Identifikation kann auch lokalisieren, sie muss aber nicht. Alle URLs sind URIs (aber nicht umgekehrt) URI Verwendung: als URL / zur Identifikation in div. XML-Technologien Beispiele: tel: urn:isbn: urn:oasis:names:specification:docbook:dtd:xml:4.1.2 URI Aufbau Scheme Name Beispiel : Schema-spezifischer Teil urn : oasis:names:specification:docbook:dtd:xml:

44 URI Uniform Resource Identifier URI Schemes Beispiele (http://www.iana.org/assignments/uri-schemes.html) URI Scheme Description Reference acap application configuration access protocol [RFC2244] cid content identifier [RFC2392] dns Domain Name System [RFC4501] fax fax [RFC3966] file Host-specific file names [RFC1738] ftp File Transfer Protocol [RFC1738] http Hypertext Transfer Protocol [RFC2616] https Hypertext Transfer Protocol Secure [RFC2818] imap internet message access protocol [RFC2192] info Information Assets with Identifiers in Public Namespaces [RFC4452] ldap Lightweight Directory Access Protocol [RFC4516] mailto Electronic mail address [RFC2368] news USENET news [RFC1738] nfs network file system protocol [RFC2224] nntp USENET news using NNTP access [RFC1738] pop Post Office Protocol v3 [RFC2384] tel telephone [RFC3966] telnet Reference to interactive sessions [RFC4248] urn Uniform Resource Names [RFC2141] 44

45 URI / URL / URN URI Uniform: Syntax entspricht RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax. Resource: Irgendetwas Identification: Identifizieren / Lokalisieren / Holen URL URN URI Entwicklung: Identifizieren / Lokalisieren Ausgangskonzept URL: Identifizieren / Holen URI : Verallgemeinerung von URL URN: Uniform Resource Name Identifikation einer Ressource unabhängig von Ort und Zugriffsmethode/Möglichkeit ( Ein http-uri ist ein URL ) URN wird (eventuell) abgebildet auf URL-1, URL-2,... URI seit 2001 (http://www.w3.org/tr/uri-clarification) URI ist Oberbegriff URL informales Konzept lokalisierbarer Ressourcen ( Klick-bar ) URN ist Schema (hierachisch aufgebaut) (urn:xx:yy:zz) Resolution (Auflösung): nicht global geklärt (dns-uris haben global definierte Auflösung, andere nicht) 45

46 URI in Java java.net Class URI java.net.uri Umschlagklasse für URIs (konstruieren / analysieren) Vergleich zur java.net.url eher konform zu aktuellen WEB-Standards URI identifiziert nur: kein (direkter) Verbindungsaufbau relative und absolute URIs möglich 46

47 URI / URL / URLConnection Idee Schema -> Protokoll -> Protokoll-Handler Klassen In the early days of Java, Sun promised that protocols could be installed at runtime from the server that used them. [...] However, the loading of prtocol handlers from web sites was never implemented, and Sun doesn't talk much about it anymore. Elliotte Rusty Harold in Java Network Programming, O'Reilly URL / URLStreamHandler / URLConnection... definieren zusammen Protokoll-Handler Bewertung OK für vordefinierte Schemata (Protokolle) speziell für HTTP GET / POST (?) Neue Protokolle ~> müssen JVM bekannt gegeben werden Umständliche / Verwirrende API, kaum Mehrwert gegen Sockets Kaum genutzt Neue / Eigene Protokolle ~> Socket-Kommunikation 47

48 URI in Java / Beispiel get-abfrage Verbindungsaufbau via URL public class URIViewer { public static void main(string[] args) { try { URI uri = new URI( "http", //Scheme null, //Authority " ", //Host 8080, //Port "/hg51webapp/getfactorizer", //Path "zahl=12&submit=los+gehts", //Query null //Fragment ); URL url = uri.tourl(); InputStream ins = url.openstream(); int c; while ( (c = ins.read())!= 1 ) { System.out.print((char)c); } } catch (MalformedURLException e){ e.printstacktrace(); } catch (URISyntaxException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); } } } 48

49 URI in Java / Beispiel get-abfrage / HTML als HTML anzeigen public class URIViewer { public static void main(string[] args) { try { URI uri = new URI( "http",null," ", 8080,"/hg51WebApp/GetFactorizer", "zahl=12&submit=los+gehts",null); URL url = uri.tourl(); InputStream ins = url.openstream(); byte[] bytea = new byte[1024]; int c; int i = 0; while ( (c = ins.read())!= 1 ) { bytea[i++] = (byte)c; } JEditorPane jp = new JEditorPane(); jp.setcontenttype("text/html"); jp.settext(new String(byteA, 0, i, "UTF8")); JFrame jf = new JFrame("Result"); jf.setcontentpane(jp); jf.setsize(512, 254); jf.setdefaultcloseoperation(jframe.exit_on_close); jf.setvisible(true); } catch (MalformedURLException e){ e.printstacktrace(); } catch (URISyntaxException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); } } } 49

50 Nebenläufige und verteilte Programme Server-Architektur 50

51 Server-Architektur Architektur des Servers Ziele keine ignorierten Service-Anforderungen ( Denial-of-Service ) hoher Durchsatz Einflussfaktoren Randbedingungen Plattformeigenschaften (HW / BS) Struktur der Anwendung Nutzung der Anwendung Protokoll-Struktur Verbindungslos / Verbindungsorientiert Request-Response / Sessions-Konzept 51

52 Serverarchitektur : Einflussfaktor Protokollstruktur Protokollstruktur synchrones Request-Response Protokoll Neue Anfragen erst nach Antwort auf die vorhergehende Einsatz Neue Anfragen hängen von der Antwort ab Kurze Bearbeitungszeit + geringe Netz-Latenz (LAN) Einfachheit vor Performanz synchrones Protokoll asynchrones Request-Response Protokoll Anfragen und Antwort entkoppelt Einsatz Anfragen und Antworten sind nicht eng gekoppelt (z.b. HTTP-Gets) Latenz im Netz groß (WAN) Performanz vor Einfachheit asynchrones Protokoll 52

53 Serverarchitektur : Einflussfaktor Protokoll Dienstdauer Protokoll mit kurz andauerndem Dienst (short duration service) Dienst umfasst eine kurze (feste) Zeitdauer Oft eine Frage / eine Antwort Oft verbindungslos Beispiele: HTTP ARP Time Protokoll mit lang andauerndem Dienst (long duration service) Dienst umfasst eine (unbestimmt) lange Zeitdauer Oft Austausch mehrerer Nachrichten Oft verbindungsorientiert Beispiele Telnet FTP etc. 53

54 Serverarchitektur : Einflussfaktor Dienststruktur interner Dienst Dienst wird im Adressraum des Servers ausgeführt geringere Latenzzeit Server in größerer Gefahr (Absturz / Hänger) Bindung: Dienst statisch externer Dienst dynamisch zum Server gebunden Dienst wird in eigenem Adressraum ausgeführt (Prozess starten) höhere Latenzzeit Server weniger in Gefahr Beispiel inetd kann konfiguriert werden Dienste intern oder extern auszuführen kurze Dienste intern / Lange Dienste extern 54

55 Serverarchitektur : Einflussfaktor Dienststruktur zustandsloser Dienst (stateless service) Dienst wird ohne Zustandsinformation im Server ausgeführt, jede Anfrage enthält alle Informationen, die notwendig sind, um sie auszuführen Beispiel: einfache Dienste, NFS HTTP (ohne Cookies, etc.) zustandsbehafteter Dienst (stateful service) Anfragen werden in Zustand ausgeführt, Zustand Verbindungs-/Sitzungs -Zustand: Protokoll wickelt FSM (endlichen Automat) ab dauerhafter Zustand: Zustand dauerhaft (über die Dauer einer Sitzung hinaus) Zustand Absturz-resistent Beispiel: Telnet / FTP: Sitzungszustand Naming-Services: Absturz-resistent 55

56 Serverarchitektur : Einflussfaktor Dienststruktur einfacher Dienst (single service server) Server ist auf einen Dienst spezialisiert Jeder Dienst benötigt seinen eigenen Server Erhöhter Ressourcenbedarf / adminstrativer Aufwand Robust multipler Dienst (multi-service server) Server bedient mehrere Dienste Server bedient mit internem oder externem Dienst Geringerer Rssourcenverbrauch / adminstrativer Aufwand weniger robust 56

57 Serverarchitektur: Einflussfaktor Bereitschaft Temporärer Server (one shot server) Server wird auf ein Anfrage/Sitzung hin erzeugt, bedient nur diese geringer Ressourcenbedarf erhöhte Latenz stehender Server (standing server) Server wird bei Systemstart erzeugt existiert permanent im Adressraum Beispiel Apache Web-Server 57

58 Serverarchitektur: Einflussfaktor Verbindungs-/Sitzungskonzept Verbindungen und Sitzungen Verbindung (Connection) Schicht-4 Konzept Fehler-/Flusskontrolle erfordert Verbindung (Verbindung = Information über den Zustand der Kommunikation) Sitzung (Session) Anwendungskonzept logische Verbindung der Kommpunikationspartner für die Dauer einer Interaktion OSI-Modell: Session-Layer (so praktisch nie realisiert) 58

CS1024 Internetbasierte Systeme

CS1024 Internetbasierte Systeme CS1024 Internetbasierte Systeme Bachelor of Science (Informatik) Einleitung Internet und Netzwerk-Programmierung Th Letschert IBS Einleitung Seite 2 Th Letschert IBS Dozent Dr. Th. Letschert Lernziele

Mehr

CS5001 Verteilte Systeme

CS5001 Verteilte Systeme Prof. Dr. Th. Letschert CS5001 Master of Science (Informatik) - Netzwerkprogrammierung - Th Letschert FH Gießen-Friedberg Plattformen der Verteiltheit Netzwerk-Programmierung : als interagierende Prozesse

Mehr

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

Netzwerkprogrammierung & Threads

Netzwerkprogrammierung & Threads & Threads Praktikum aus Softwareentwicklung 2 Netzwerp. - 1 & Threads URL, URLConnection, UDP, TCP Threads Parallele Programme, Synchronisation, Netzwerp. - 2 Grundlagen (1/2) Kommunikation zwischen verteilten

Mehr

1. Netzwerkprogrammierung für mobile Geräte

1. Netzwerkprogrammierung für mobile Geräte 1. Netzwerkprogrammierung für mobile Geräte Lernziele 1. Netzwerkprogrammierung für mobile Geräte Themen/Lernziele: Konzepte der verbindungslosen Kommunikation beherrschen Client/Server-Anwendungen auf

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Netzwerkprogrammierung PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke, Marcus Mews Technische Universität Berlin Fachgebiet Softwaretechnik 17. Juni 2013 Übersicht Grundlagen

Mehr

2 Verbindungslose Kommunikation mit UDP

2 Verbindungslose Kommunikation mit UDP 2 Verbindungslose Kommunikation mit UDP Das User Datagram Protocol (UDP) stellt grundlegende Funktionen zur Verfügung, um mit geringem Aufwand Daten zwischen kommunizierenden Prozessen austauschen zu können.

Mehr

Referat: Netzwerkprogrammierung in Java

Referat: Netzwerkprogrammierung in Java 1.)ISO/OSI und Internet Referenzmodell Referat: Netzwerkprogrammierung in Java ISO/OSI 7 Schichtenmodell (1-Bitübertragung, 2-Sicherung, 3-Netzwerk, 4-Transport, 5-Sitzung, 6- Darstellung, 7-Anwendung)

Mehr

Informatik B. Vorlesung 16 Netzwerkprogrammierung. Dr. Ralf Kunze

Informatik B. Vorlesung 16 Netzwerkprogrammierung. Dr. Ralf Kunze Vorlesung 16 Netzwerkprogrammierung 1 Netzwerkprogrammierung Mit Java-Programmen ist es möglich, Verbindungen über Netze aufzubauen Die Basisfunktionalität zur Netzwerkprogrammierung stellt das Paket java.net

Mehr

4. Thread- und Netzwerk- Programmierung

4. Thread- und Netzwerk- Programmierung 4. Thread- und Netzwerk- Programmierung 4.1 Ziel dieses Kapitels 4.2 Prozeß versus Thread 4.3 Thread-Programmierung 4.4 TCP/IP Grundlagen 4.5 TCP Programmierung 3. TCP/IP und Threads 3-1 4.1 Ziel dieses

Mehr

Netzwerkprogrammierung

Netzwerkprogrammierung Netzwerkprogrammierung 1 Netzwerkverbindungen Das Entwurfsziel von Java war: Einfache Verbindung zwischen Rechnern und SetBox-Systemen. Das Standardpaket java.net hilft bei allen Netzwerkverbindungen.

Mehr

Advanced Network Programming

Advanced Network Programming 1 Advanced Network Programming Inhalt Netzwerkkommunikation Protokolle Verbindungsaufbau, -kontrolle, Datentransfer Socketprogrammierung TPC und UDP Client- und Serversockets verbindungsorientierte Server

Mehr

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes Kapitel 4: Design von Client/Server-Software Definition: Client und Server Client Ein Client ist ein Dienstnutzer, der von einem Server aktiv einen Dienst anfordert und anschließend darauf wartet, dass

Mehr

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets.

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 19 2 / 19 Über einen Socket kann eine Anwendung die Implementierung des Netzwerkprotokolls des darunter liegenden Betriebssystems

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Programmiermethodik. Übung 13

Programmiermethodik. Übung 13 Programmiermethodik Übung 13 Sommersemester 2010 Fachgebiet Software Engineering andreas.scharf@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA9 Mancala Showroom Client/Server Kommunikation in Java

Mehr

Networking. Motivation Grundlagen von Sockets Klasse Socket Klasse ServerSocket Exceptions Klasse URL

Networking. Motivation Grundlagen von Sockets Klasse Socket Klasse ServerSocket Exceptions Klasse URL Networking Motivation Grundlagen von Sockets Klasse Socket Klasse ServerSocket Exceptions Klasse URL Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Netzwerkprogrammierung in Java Programme schreiben,

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

Jan Distel. Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java

Jan Distel. Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java Jan Distel Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java Jan Distel - Diplomarbeitskolloquium 02.07.2010 1. Allgemeines 2. Datagram-Sockets 3. Sockets 4. Server-Sockets 5. Socket-Channels

Mehr

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen Kommunikationsnetze Gliederung 1. Socket-Programmierung unter C 2. Socket-Programmierung unter Java Gliederung Berkeley Sockets (Erste freie TCP/IP-Implementierung in Berkeley UNIX): SOCKET: Erzeugen eines

Mehr

TCP und UDP Sockets in Java

TCP und UDP Sockets in Java TCP und UDP Sockets in Java Grundlegende Mechanismen Server reserviert Port: Klient: - Server: bind Server nimmt Verbindungswünsche an Klient: - Server: listen Klient möchte sich verbinden Klient: connect;

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung Themen Threading Netzwerk Techniken der Projektentwicklung Threading & Netzwerkprogrammierung Ingo Lütkebohle Termin 13 Ingo Lütkebohle Techniken der Projektentwicklung 1 Themen heute Themen Threading

Mehr

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

Client-Server-Prinzip

Client-Server-Prinzip Client-Server-Prinzip Kommunikation im Internet erfolgt nach dem Client-Server-Prinzip: Client sendet eine Anfrage (fordert eine Dienstleistung an) Server sendet die Antwort (bietet eine Dienstleistung

Mehr

1. Netzwerkprogrammierung für mobile Geräte

1. Netzwerkprogrammierung für mobile Geräte 1. Netzwerkprogrammierung für mobile Geräte Lernziele 1. Netzwerkprogrammierung für mobile Geräte Themen/Lernziele: Konzepte der verbindungslosen Kommunikation beherrschen Client/Server-Anwendungen auf

Mehr

Beispiel Time Client/Server

Beispiel Time Client/Server Beispiel Time Client/Server /** * * Programmbeschreibung: * --------------------- * Dieses Programm ermittelt über eine TCP/IP-Verbindung die Uhrzeit eines * entfernten Rechners, wobei es sowohl die Rolle

Mehr

Beispiel E-Mail senden

Beispiel E-Mail senden Beispiel E-Mail senden E-Mail senden erfolgt nach dem SMTP-Protokoll auf Port 25 Das SMTP-Protokoll hat folgendes Format (RFC 821, RFC 2821) HELO Sendender Host MAIL FROM:

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2013 CS108 Programmier-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante eines verteilten Systems (also

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 16 Rechnerkommunikation verteilte Systeme... 16-2 16.1 Netzwerktechnologie... 16-2 16.1.1 Adressen... 16-2 16.1.2 s und s... 16-3 16.2 Server/Client-Programmierung... 16-4 16.2.1 Aufbau einer Server/Client-Verbindung...

Mehr

TCP/IP Socket Programmierung in C# (Ci sharp) Multicast und Broadcast

TCP/IP Socket Programmierung in C# (Ci sharp) Multicast und Broadcast TCP/IP Socket Programmierung in C# (Ci sharp) Multicast und Broadcast AUFGABE: Schreiben Sie das Beispiel in JAVA um Multicast und Broadcast Bei allen TCP Verbindungen handelt es sich um bidirektionale,

Mehr

Informatik B. Vorlesung 17 Netzwerkprogrammierung. Dr. Ralf Kunze

Informatik B. Vorlesung 17 Netzwerkprogrammierung. Dr. Ralf Kunze Vorlesung 17 Netzwerkprogrammierung 1 Rückblick URL-Objekt Socket Verbindung zu einem Server aufbauen Webserver aus Clientsicht 2 Serverimplementation Server bauen keine eigene Verbindung auf, sondern

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

TCP/IP-Protokollfamilie

TCP/IP-Protokollfamilie TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 16 Rechnerkommunikation verteilte Systeme... 16-2 16.1 Netzwerktechnologie... 16-2 16.1.1 Adressen... 16-2 16.1.2 s und s... 16-3 16.2 Server/Client-Programmierung... 16-5 16.2.1 Aufbau einer Server/Client-Verbindung...

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Networking. Motivation und Grundlagen Klasse Socket SMTP-Protokoll Exceptions. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H.

Networking. Motivation und Grundlagen Klasse Socket SMTP-Protokoll Exceptions. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Networking Motivation und Grundlagen Klasse Socket SMTP-Protokoll Exceptions Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Networking Motivation und Grundlagen Sockets Klasse URL SMTP-Protokoll

Mehr

Networking. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H.

Networking. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Networking Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Networking Grundlagen Klasse Socket Klasse ServerSocket Klasse URL Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 2 Netzwerkprogrammierung

Mehr

Datenkommunikation. Studienarbeit. Wintersemester 2014/2015. Mandl/Bakomenko/Weiß Seite 1. Datenkommunikation

Datenkommunikation. Studienarbeit. Wintersemester 2014/2015. Mandl/Bakomenko/Weiß Seite 1. Datenkommunikation Studienarbeit Wintersemester 2014/2015 Mandl/Bakomenko/Weiß Seite 1 Überblick 1. Einführung in die Aufgabenstellung - Lernziele - Überblick über die Aufgabenstellung 2. Das Dako-Framework 3. Teilaufgaben

Mehr

Teil 1: Ein einfacher Chat

Teil 1: Ein einfacher Chat Teil 1: Ein einfacher Chat Verteilte Systeme / Chat Der Weg ist das Ziel Im Laufe dieses Projektes werden Sie schrittweise ein Chat-Programm entwickeln. Dabei werden Sie einiges über den Aufbau des Internets

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL5 Folie 1 Dr. Jens Döbler Internet Grundlagen Zusammenschluß

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

TCP/IP Protokollstapel

TCP/IP Protokollstapel TCP/IP Protokollstapel IP: Hauptaufgabe ist das Routing (Weglenkung) und Adressierung IP ist ein ungesichertes, verbindungsloses Protokoll Arbeitet auf Schicht 3 UDP: User Datagram Protocol UDP ist ein

Mehr

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 Adressauflösung IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 IP Adresse Physikalische Adresse 128.96.34.15??? 128.96.34.16 85:48:A4:28:AA:18 128.96.34.15

Mehr

Modul 7 Uniform Resource Identifier (URI)

Modul 7 Uniform Resource Identifier (URI) Modul 7 Uniform Resource Identifier (URI) M. Leischner Internetkommunikation Folie 1 Was ist ein URI? Ein URI identifiziert eine abstrakte Ressource Ein URI stellt ein universelles Konzept zur Identifikation

Mehr

UDP-, MTU- und IP- Fragmentierung

UDP-, MTU- und IP- Fragmentierung UDP-, MTU- und IP- Fragmentierung Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung

Mehr

VS4 Slide 1. Verteilte Systeme. Vorlesung 4 vom 29.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS4 Slide 1. Verteilte Systeme. Vorlesung 4 vom 29.04.2004 Dr. Sebastian Iwanowski FH Wedel VS4 Slide 1 Verteilte Systeme Vorlesung 4 vom 29.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Sicherheitsdienste für große Firmen => Teil 2: Firewalls

Sicherheitsdienste für große Firmen => Teil 2: Firewalls Seite 21 Sicherheitsdienste für große Firmen => Teil 2: Firewalls Sicherer Zugang zum World Wide Web (HTTP, FTP etc.) Sicherer Übergang zum Internet: Firewalls und Intrusion Detection Verzeichnisdienste

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

Anwendungsprotokolle: HTTP, POP, SMTP Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort

Mehr

Kapitel WT:II (Fortsetzung)

Kapitel WT:II (Fortsetzung) Kapitel WT:II (Fortsetzung) II. Rechnerkommunikation und Protokolle Rechnernetze Prinzipien des Datenaustauschs Netzsoftware und Kommunikationsprotokolle Internetworking Client-Server-Interaktionsmodell

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

E.1 Object Request Brokers

E.1 Object Request Brokers E Überblick über die 4. Übung E Überblick über die 4. Übung 1 Komponenten eines ORBs Lösungsskizze Aufgabe 2 RPC und ORB Aufrufsemantiken Hinweise Aufgabe 3 Kommunikationsschicht: tauscht Daten zwischen

Mehr

Projektaufgabe Peer-To-Peer Chat Programm

Projektaufgabe Peer-To-Peer Chat Programm Projektaufgabe Peer-To-Peer Chat Programm Betreuer: Dipl. Ing. Thomas Kehrt kehrt@cs.tu-dortmund.de September 10, 2014 1 Einführung Im Rahmen des Vorkurses wird für fortgeschrittene Studenten eine Projektarbeit

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

KN 20.04.2015. Das Internet

KN 20.04.2015. Das Internet Das Internet Internet = Weltweiter Verbund von Rechnernetzen Das " Netz der Netze " Prinzipien des Internet: Jeder Rechner kann Information bereitstellen. Client / Server Architektur: Server bietet Dienste

Mehr

TCP/IP. Datenübertragungsschicht Netzwerkschicht Anwendungsschicht

TCP/IP. Datenübertragungsschicht Netzwerkschicht Anwendungsschicht TCP/IP Datenübertragungsschicht Netzwerkschicht Anwendungsschicht 1 Schichtenmodell Schichtenmodell der Internet- Protokollsuite Ziel: Kommunikation unterschiedlicher Rechner mit verschiedenen Betriebssystemen

Mehr

Automatisierung von Java Anwendungen (9)

Automatisierung von Java Anwendungen (9) Abteilung für Wirtschaftsinformatik Automatisierung von Java Anwendungen (9) Bean Scripting Framework (BSF), 3 Sockets (Paket "java.net") Prof. Dr. Rony G. Flatscher Wirtschaftsuniversität Wien Augasse

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

15 Transportschicht (Schicht 4)

15 Transportschicht (Schicht 4) Netzwerktechnik Aachen, den 16.06.03 Stephan Zielinski Dipl.Ing Elektrotechnik Horbacher Str. 116c 52072 Aachen Tel.: 0241 / 174173 zielinski@fh-aachen.de zielinski.isdrin.de 15 Transportschicht (Schicht

Mehr

Kommunikation und Synchronisation von Prozessen

Kommunikation und Synchronisation von Prozessen Kommunikation und Synchronisation von Prozessen 1. Hintergrundinformation 2. Umsetzungsmöglichkeiten Teil 1 Hintergrundinformation Grundansatz Vorspanntext Lehrplan 12.2: Betrachtet werden Situationen

Mehr

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Rechnernetze. 6. Übung

Rechnernetze. 6. Übung Hochschule für Technik und Wirtschaft Studiengang Kommunikationsinformatik Prof. Dr. Ing. Damian Weber Rechnernetze 6. Übung Aufgabe 1 (TCP Client) Der ECHO Service eines Hosts wird für die Protokolle

Mehr

1. Mit dem Socket zum Server

1. Mit dem Socket zum Server 1. Mit dem Socket zum Server Die URL-Verbindungen sind schon High-level-Verbindungen und wir müssen uns nicht erst um Übertragungsprotokolle wie HTTP oder noch tiefer TCP/IP kümmern. Aber alle höheren

Mehr

Rechnernetze II WS 2012/2013. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Rechnernetze II WS 2012/2013. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Rechnernetze II WS 2012/2013 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 5. Mai 2014 Betriebssysteme / verteilte Systeme Rechnernetze

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Domain Name Service (DNS)

Domain Name Service (DNS) Domain Name Service (DNS) Aufgabe: den numerischen IP-Adressen werden symbolische Namen zugeordnet Beispiel: 194.94.127.196 = www.w-hs.de Spezielle Server (Name-Server, DNS) für Listen mit IP-Adressen

Mehr

TCP-Sockets in Java und C. Verteilte Systeme Hochschule Regensburg Vorlesung 4, 25.04.2012 Universitätsstraße 31, 93053 Regensburg

TCP-Sockets in Java und C. Verteilte Systeme Hochschule Regensburg Vorlesung 4, 25.04.2012 Universitätsstraße 31, 93053 Regensburg TCP-Sockets in Java und C Hochschule Regensburg Vorlesung 4, 25.04.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Ziel: Threads sollen unabhängig von ihrer Position kommunizieren

Mehr

Internet - Grundzüge der Funktionsweise. Kira Duwe

Internet - Grundzüge der Funktionsweise. Kira Duwe Internet - Grundzüge der Funktionsweise Kira Duwe Gliederung Historische Entwicklung Funktionsweise: -Anwendungen -Rechnernetze -Netzwerkschichten -Datenkapselung -RFC -Verschiedene Protokolle (Ethernet,

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

Rechnernetze II SS 2015. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Rechnernetze II SS 2015. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Rechnernetze II SS 2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. Juli 2015 Betriebssysteme / verteilte Systeme Rechnernetze

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Internetprotokoll TCP / IP

Internetprotokoll TCP / IP Internetprotokoll TCP / IP Inhaltsverzeichnis TCP / IP - ALLGEMEIN... 2 TRANSPORTPROTOKOLLE IM VERGLEICH... 2 TCP / IP EIGENSCHAFTEN... 2 DARPA MODELL... 3 DIE AUFGABEN DER EINZELNEN DIENSTE / PROTOKOLLE...

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 7 Th Letschert FH Gießen-Friedberg Ressourcen Verwaltung passive Ressourcen aktive Ressourcen

Mehr

Tafelübung zu BS 4. Interprozesskommunikation

Tafelübung zu BS 4. Interprozesskommunikation Tafelübung zu BS 4. Interprozesskommunikation Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

Uniform Resource Identifiers (URI) und Domain Name Service (DNS)

Uniform Resource Identifiers (URI) und Domain Name Service (DNS) Kurzvortrag zum Thema: Uniform Resource Identifiers (URI) und Domain Name Service (DNS) Beschreiben Sie Aufbau und Einsatzzweck von URI, URL und URN. Lesen Sie die dazu passenden RFCs. Was ist der Domain

Mehr

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ARCHITEKTUR VON INFORMATIONSSYSTEMEN ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll

Mehr

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL TCP/IP: Standard Protokolle Konrad Rosenbaum, 2006/7 DNS - Domain Name System hierarchische, global verteilte Datenbank löst Namen in IP-Adressen auf Host hat einen primären Nameserver, der Fragen selbst

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 WebSphere MQ Teil 3 Trigger el0100 Copyright W. G. Spruth,

Mehr

Technische Grundlagen von Internetzugängen

Technische Grundlagen von Internetzugängen Technische Grundlagen von Internetzugängen 2 Was ist das Internet? Ein weltumspannendes Peer-to-Peer-Netzwerk von Servern und Clients mit TCP/IP als Netzwerk-Protokoll Server stellen Dienste zur Verfügung

Mehr

Kommunikation in Netzwerken Teil 2

Kommunikation in Netzwerken Teil 2 Client-Server Teil 2-1/37 3.6.2006 Kommunikation in Netzwerken Teil 2 Barbara Leipholz-Schumacher Euregio-Kolleg, Würselen Konfiguration des SMTP-Servers postfix (Linux) main.cf Client-Server Teil 2-2/37

Mehr

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht Themen Anwendungsschicht DNS HTTP Anwendungsschicht OSI-Schicht 7, TCP/IP-Schicht 4 Dienste für den Nutzer/Anwender Unabhängig von den niederen Schichten Verschiedene Dienste bzw. Services DNS HTTP FTP,

Mehr

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN Android VPN Am Beispiel eines Netzwerktunnels für das Domain Name System () 1 Inhalt VPN Framework in Android Übersicht zu Iodine Funktionsweise Demonstration 2 VPN und Android Verfügbar seit Android 4.0

Mehr

Was ist ein Netzwerk? Informatik B - Objektorientierte Programmierung in Java. Vorlesung 22: Netzwerkprogrammierung/ Kommunikation 1.

Was ist ein Netzwerk? Informatik B - Objektorientierte Programmierung in Java. Vorlesung 22: Netzwerkprogrammierung/ Kommunikation 1. Universität Osnabrück 1 Was ist ein Netzwerk? 3 - Objektorientierte Programmierung in Java Vorlesung 22: Netzwerkprogrammierung/ Kommunikation 1 SS 2004 Prof. Dr. F.M. Thiesing, FH Dortmund Verbindung

Mehr

Klausur zur Vorlesung Verteilte Systeme im SS 2007 Prof. Dr. Odej Kao 24. Juli 2007

Klausur zur Vorlesung Verteilte Systeme im SS 2007 Prof. Dr. Odej Kao 24. Juli 2007 Klausur zur Vorlesung Verteilte Systeme im SS 2007 Prof. Dr. Odej Kao 24. Juli 2007 Name: Vorname: Matrikelnummer: Studiengang: E-Mail: Schreiben Sie zunächst sofort Ihren Namen und Matrikelnummer auf

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0 Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0 Die Beitragssatzdatei in der Version 5.0 wird nur über https Download auf einer frei zugänglichen Webseite auf den folgenden Seiten bereitgestellt.

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

Java I/O, Serialisierung und Netzwerkprogrammierung

Java I/O, Serialisierung und Netzwerkprogrammierung Java I/O, Serialisierung und Netzwerkprogrammierung Philipp Güttler 16. Dezember 2009 Universität Ulm, Abt. SGI Progwerkstatt 2 19 Gliederung Java I/O, Serialisierung und Netzwerkprogrammierung 16. Dezember

Mehr

2. Architektur von Kommunikationssystemen

2. Architektur von Kommunikationssystemen 2. Architektur von Kommunikationssystemen 2.1 2.2 TCP/IP-basierte Protokollarchitektur Digitale Kommunikationssysteme Prof. Dr. Habermann / Dr. Hischke 12-01 / 1 Das OSI-Referenzmodell wird ausführlich

Mehr

y Hypertext braucht Ressourcen-Identifikation y Unterschied zwischen Link und Identifier

y Hypertext braucht Ressourcen-Identifikation y Unterschied zwischen Link und Identifier +\SHUWH[W7UDQVIHU3URWRFRO +773 (ULN:LOGH 7,.² (7+= ULFK 6RPPHUVHPHVWHU hehuvlfkw y Hypertext braucht Ressourcen-Identifikation y Unterschied zwischen Link und Identifier y Universal Resource Identifier

Mehr

Variablen manipulieren per JDI

Variablen manipulieren per JDI Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt

Mehr

Projekt: Web-Proxy. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015

Projekt: Web-Proxy. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015 Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

Mehr