Jan Distel. Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java

Größe: px
Ab Seite anzeigen:

Download "Jan Distel. Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java"

Transkript

1 Jan Distel Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java

2 Jan Distel - Diplomarbeitskolloquium Allgemeines 2. Datagram-Sockets 3. Sockets 4. Server-Sockets 5. Socket-Channels 6. Server-Socket-Channels 2

3 Jan Distel Socket-Programmierung URSPRUNG: Unix I/O-Behandlung Open-Read-Write-Close 1983 erste Socket-API Inzwischen plattformunabhängige API Implementiert in fast allen Betriebssytemen 3

4 Jan Distel Socket-Programmierung UPD: Unreliable Datagram Protocol Packet orientiert Sehr schnell, aber keine Fehlerkorrektur In Java verfügbar mit den Klassen java.net.datagramsocket java.net.datagrampacket 4

5 Jan Distel Socket-Programmierung

6 Jan Distel Socket-Programmierung Class DatagramPacket: Wrapper für ein byte-datenarray schreiben der zu sendenden bzw. lesen der empfangenen Daten Beim Senden: Adresse und Port von Empfänger angeben Beim Empfangen: Adresse und Port von Sender auslesen 6

7 Jan Distel Socket-Programmierung Class DatagramPacket: Konsturktoren: Senden: public DatagramPacket(byte[] data, int length) Empfangen: public DatagramPacket(byte[] data, int length, InetAddress iaddr, int iport) 7

8

9

10

11

12

13

14 sichere Verbindung zwischen zwei Hosts mit TCP/IP Stream-Socket übernimmt Kommunikation mit untern Schichten Entwickler- Ebene Betriebssystem- Eben Prozess Socket TCP IP Ethernet Host oder Server Prozess Socket TCP IP Ethernet Host oder Server Entwickler- Ebene Betriebssystem- Eben

15 java.net.socket-klasse: Konstruktoren: public Socket(String host, int port) throws UnknownHostException, IOException public Socket(InetAddress address, int port) throws IOException public Socket(String host, int port, InetAddress localaddr, int localport) throws IOException public Socket(InetAddress address, int port, InetAddress localaddr, int localport) throws IOException

16 Initialisierung: mindestens Hostname und Port sind erforderlich an Stelle Hostename kann InetAddress genutz werden Konsturktoren erzeugen Socket-Objetk und gleichzeitig erfolgt Verbindung mit Ziel-Host

17 Initialisierung: Ziel-Host muss auf Verbindung warten Falls Zielhost nicht errichbar IOException Localer Port und Adresse könnten optional angegeben werden

18 Senden & Empfangen: Erfolgt über Streams Werden über Socket-Methoden erzeugt public InputStream getinputstream() throws IOException public OutputStream getoutputstream() throws IOException Methoden von In-/OutoutStream können verwendent werden Üblicherweise werden Streams an leichter zu nutzende stream/writer Kalsse gebunden

19 Senden & Empfangen Beispiel (HHTP): URL u = new URL(args[i]); if (u.getport()!= -1) port = u.getport(); if (!(u.getprotocol().equalsignorecase("http"))) { System.err.println("I only understand http."); } Socket s = new Socket(u.getHost(), u.getport()); OutputStream theoutput = s.getoutputstream(); PrintWriter pw = new PrintWriter(theOutput, false); pw.print("get " + u.getfile() + " HTTP/1.0\r\n"); pw.print("accept: text/plain, text/html, text/*\r\n"); pw.print("\r\n"); pw.flush(); InputStream in = s.getinputstream(); InputStreamReader isr = new InputStreamReader(in); BufferedReader br = new BufferedReader(isr); String theline; while ((theline = br.readline())!= null) { System.out.println(theLine); }

20 Socket Methoden: Stellen Infos über Local- und Remote- Host zur Verfügung public InetAddress getinetaddress() public InetAddress getlocaladdress() public int getport() public int getlocalport()

21 Verbindung hat zwei Enden Client: Initiator eines Verbindungsaufbaus Server: reagiert auf Verbindungsversuch eines Clients Client und Server werden über eine Socket verbunden Server verbindet sich nicht selber, sondern wartet auf Client-Request

22 Konstruktoren: public ServerSocket(int port) throws IOException public ServerSocket(int port, int backlog) throws IOException public ServerSocket(int port, int backlog, InetAddress bindaddr) throws IOException nur ein Prozess kann pro TCP-Port auf Verbindungversuche warten Sonst BindException

23 ServerSocket nutz einen Port des localen Rechners Port 0 sagt dem ServerSocket einen freien Port zu wählen bei erfolgreicher Initialisierung horcht ServerSocket am Port nach Clients Client will sich verbinden: Server akzeptiert Client Erzeugt Socket-Objekt für Kommunikation mit Client

24 Beispiel: try { ServerSocket ss = new ServerSocket(2345); Socket s = ss.accept(); PrintWriter pw = new PrintWriter(s.getOutputStream()); pw.println("hello There!"); s.close(); } catch (IOException e) { System.err.println(e); }

25 Methode receive() blockiert den Server bis eine Verbindung aufgebaut wird Verarbeitung mehrerer Clients kann mit Threads erfolgen von receive() erzeugtes Socket-Objekt zur Verarbeitung der Client-Anfragen an Thread übergeben so können sehr viele parallel arbeitende Threads entstehen

26 Beispiel: while (true) { try { Socket s = ss.accept(); ServerThread tes = new ServerThread(s) tes.start(); } catch (IOException e) {} }

27 Die Klasse SocketChannel ermöglicht mit der Eigenschaft non blocking die Verarbeitung mehrerer Clients mit nur einem Thread.

28 Selector: Channel-Multiplexer Muss am SocketChannel registriert werden Select() wartet auf Event an SocketChannel Keys: Objekt zum sortieren der Anfragen Jeder Key repräsentiert einen Clients-Request Enthält Info über Art des Requests und zur Identifikation des Clients (IP/Port)

29 Beispiel: ServerSocketChannel server = ServerSocketChannel.open(); server.configureblocking(false); server.socket().bind(new java.net.inetsocketaddress(host,8000)); System.out.println("Server an 8000"); Selector selector = Selector.open(); server.register(selector,selectionkey.op _ACCEPT);

30 for(;;) { selector.select(); Set keys = selector.selectedkeys(); Iterator i = keys.iterator(); while(i.hasnext()) { SelectionKey key = (SelectionKey) i.next(); i.remove(); if (key.isacceptable()) { SocketChannel client = server.accept(); client.configureblocking(false); client.register(selector, SelectionKey.OP_READ); continue; }

31 if (key.isreadable()) { SocketChannel client = (SocketChannel) key.channel(); int BUFFER_SIZE = 32; ByteBuffer buffer = ByteBuffer.allocate(BUFFER_SIZE); try { client.read(buffer); } catch (Exception e) { // client is no longer active e.printstacktrace(); continue; } // Show bytes on the console buffer.flip(); Charset charset=charset.forname("iso "); CharsetDecoder decoder = charset.newdecoder(); CharBuffer charbuffer = decoder.decode(buffer); System.out.print(charBuffer.toString()); continue; } } }

32 Jan Distel Socket-Programmierung Danke fürs Zuhören! 32

Socket-Programmierung unter Java

Socket-Programmierung unter Java Socket-Programmierung unter Java 1 - Grundlagen: Datenströme Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer

Mehr

Socket-Programmierung unter Java

Socket-Programmierung unter Java Datenströme -Programmierung unter Java 1 - Grundlagen: Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer Verwende

Mehr

Java und Netzwerkkommunikation

Java und Netzwerkkommunikation Java und Netzwerkkommunikation Ziel: Kommunikation über Rechnergrenzen hinweg Grundlagen Sockets in Java Java-Netzwerk-Einführung Seite 1 Grundbegriffe Senden und Empfangen von Daten! Frau B Herr A Sender

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

Client-Server TCP/IP - Kodierung

Client-Server TCP/IP - Kodierung Client-Server TCP/IP - Kodierung Die klassen Ein (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination aus IP-Adresse

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

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

NIO Channels SYSTEM SOFTWARE 1

NIO Channels SYSTEM SOFTWARE 1 NIO Channels SYSTEM SOFTWARE 1 Networking Grundlagen Channels und Buffers Nicht-blockierendes Arbeiten mit Selectors Asynchrone Channels Locks SYSTEM SOFTWARE 2 Motivation Mit NIO und NIO.2 wurden Channels

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

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

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

Verbindungen zu mehreren Clients. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2

Verbindungen zu mehreren Clients. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2 Universität Osnabrück 1 Verbindungen zu mehreren Clients 3 - Objektorientierte Programmierung in Java Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2 Wie könnte das bereits vorgestellte Programm

Mehr

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

Network Communication. Dr. Jürgen Eckerle WS 06/07

Network Communication. Dr. Jürgen Eckerle WS 06/07 Network Communication Dr. Jürgen Eckerle WS 06/07 1 Thread-Programmierung ist wichtig um Nebenläufigkeit bei der Netzwerkprogrammierung zu realisieren Typisches Muster beim Server: Server-Handler. Der

Mehr

Client-Server TCP/IP - Kodierung

Client-Server TCP/IP - Kodierung Client-Server TCP/IP - Kodierung Die Socketklassen Ein Socket (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination

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

Softwarepraktikum Sommersemester 2006

Softwarepraktikum Sommersemester 2006 Softwarepraktikum Sommersemester 2006 Netzwerkprogrammierung in Java Ralf Wienzek wienzek@informatik.rwth-aachen.de Ulrich Loup loup@i4.informatik.rwth-aachen.de Grundlagen Netzwerkprogrammierung TCP/IP

Mehr

Netzwerkprogrammierung & Threads

Netzwerkprogrammierung & Threads & Praktikum aus 1 & URL, URLConnection, UDP, TCP Parallele Abläufe, Synchronisation, 2 Grundlagen (1/4) Kommunikation zwischen verteilten Programmen Host Computer Java Virtuelle Maschine Host Computer

Mehr

Netzwerkprogrammierung mit Java

Netzwerkprogrammierung mit Java Netzwerkprogrammierung mit Java Eine Übersicht über Java NIO Andre Ufer a09008@hb.dhbw-stuttgart.de Zusammenfassung. Diese Ausarbeitung beschreibt die Netzwerkprogrammierung unter Java. Der Schwerpunkt

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 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Verbindung

Mehr

Programmierzertifikat Objekt-Orientierte Programmierung mit Java

Programmierzertifikat Objekt-Orientierte Programmierung mit Java Programmierzertifikat Objekt-Orientierte Programmierung mit Java Vorlesung 10: Netzwerk Peter Thiemann Universität Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Programmierzertifikat Objekt-Orientierte

Mehr

Kommentare, Client-Server, Protokolle

Kommentare, Client-Server, Protokolle Kommentare, Client-Server, Protokolle Grundlagen für die erste Praktikumswoche 19. Oktober 2006 Dokumentationsziel Zweck und Funktionsweise sollten so dokumentiert werden, dass ein Programmierer eine Klasse

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

Programmiermethodik. Übung 10

Programmiermethodik. Übung 10 Programmiermethodik Übung 10 Sommersemester 2011 Fachgebiet Software Engineering andreas.koch@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA 6 Client/Server Kommunikation in Java Vorstellung HA 7

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

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

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

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

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

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 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

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

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

Softwarepraktikum Sommersemester 2007

Softwarepraktikum Sommersemester 2007 Softwarepraktikum Sommersemester 2007 Netzwerkprogrammierung in Java Ralf Wienzek wienzek@i4.informatik.rwth-aachen.de Ulrich Loup ulrich@i4.informatik.rwth-aachen.de Grundlagen Netzwerkprogrammierung

Mehr

Client-Server TCP/IP - Kodierung

Client-Server TCP/IP - Kodierung Client-Server TCP/IP - Kodierung (1.) (a.) Testen Sie das erste Beispiel aus dem Ordner 01: Starten Sie Client und Server auf dem gleichen PC, aber den Server zuerst! (b.) In welchem Bereich müssen die

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

Verteilte Systeme - Java Networking (Sockets) 2 -

Verteilte Systeme - Java Networking (Sockets) 2 - Verteilte Systeme - Java Networking (Sockets) 2 - Prof. Dr. Michael Cebulla 06. November 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 30 Michael Cebulla Verteilte Systeme Gliederung Wiederholung:

Mehr

Netzwerkprogrammierung & Threads

Netzwerkprogrammierung & Threads Netzwerkprogrammierung & Threads Praktikum aus 1 Netzwerkprogrammierung & Threads Netzwerkprogrammierung URL, URLConnection, UDP, TCP Threads Praktikum aus Parallele Programme, Synchronisation, 2 Netzwerkprogrammierung

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

Java Performance. HS Telematik. Torsten Hildebrandt 2002-07-05

Java Performance. HS Telematik. Torsten Hildebrandt 2002-07-05 Java Performance HS Telematik Torsten Hildebrandt 2002-07-05 Gliederung 1. Allgemeines 2. Strings 3. Nebenläufigkeit 4. Speicherverwaltung 5. Container 6. I/O 7. Sonstiges 2002-07-05 2 Allgemeines Optimierung

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

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

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

3.5 SSL Verbindungen. JSSE (Java Secure Socket Extension) import javax.net.ssl.* Wesentliche Pattern) Änderung im Client Programm: (Factory.

3.5 SSL Verbindungen. JSSE (Java Secure Socket Extension) import javax.net.ssl.* Wesentliche Pattern) Änderung im Client Programm: (Factory. 3.5 SSL Verbindungen JSSE (Java Secure Socket Extension) import javax.net.ssl.* Wesentliche Pattern) Änderung im Client Programm: (Factory Ersetze Socket s = new Socket (hostname, portnumber) durch SSLSocketFactory

Mehr

NETZWERKPROGRAMMIERUNG IN JAVA

NETZWERKPROGRAMMIERUNG IN JAVA In diesem Kapitel: Was ist ein Server Socket? Die ServerSocket Klasse Aufbau eines Servers einige Server Beispiele 8 Sockets für Server 8.1. Was ist ein Server Socket? In diesem Kapitel beschreiben wir

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

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

port URL-path Search part us er host fragment Wikipedia : URL

port URL-path Search part us er host fragment Wikipedia : URL java.net Klassenbibliothek für den Datentransport im Netz Entfernte Ressourcen werden über URLs oder URIs identifiziert. Es werden verbindungorientierte und verbindungslose Datentransfers unterstützt.

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

Rechnernetze II SS Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

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

Mehr

Distinguished Lectures Series im SS04. And now YOU ARE HERE. Verwendung der Oberklasse Thread

Distinguished Lectures Series im SS04. And now YOU ARE HERE. Verwendung der Oberklasse Thread Distinguished Lectures Series im SS04 And now... MDA-gestütztes Architekturmanagement im Volkswagen-Konzern: Ein Erfahrungsbericht Dr. Frank Derichsweiler, Architekturmanagement, AUDI AG Repository für

Mehr

UDP Datagramme und Sockets

UDP Datagramme und Sockets In diesem Kapitel: Was ist ein UDP Datagramm Die DatagrammPacket Klasse Die DatagrammSocket Klasse Höhere Abstraktionslevel Anwendungsbeispiele 9 UDP Datagramme und Sockets 9.1. Einführung In den beiden

Mehr

Überblick. Verteilte Systeme - 4. Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth

Überblick. Verteilte Systeme - 4. Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth Überblick Verteilte Systeme - 4. Übung Tobias Distler, Michael Gernoth Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de

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

3 Netzwerkprogrammierung in Java

3 Netzwerkprogrammierung in Java 3 Netzwerkprogrammierung in Java In package java.net Vorläufige Version 64 c 2005 Peter Thiemann 3.1 Internet-Adressen (IP-Adressen) Internet-Adresse = vier Oktette (je 8 Bit) jedes direkt mit dem Internet

Mehr

Automatisierung von Java Anwendungen (9)

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

Mehr

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe und Ausgabe in Java Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe Beispiel1 public class Input1 { public static void main(string[] args) { for (int i = 0; i < args.length;

Mehr

Networking SYSTEM SOFTWARE 1

Networking SYSTEM SOFTWARE 1 Networking SYSTEM SOFTWARE 1 Networking Grundlagen Sockets ServerSockets URL und URLConnection Zusammenfassung SYSTEM SOFTWARE 2 Netzwerkprogrammierung Programme schreiben, wobei Teile auf unterschiedlichen

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

Rechnernetze und verteilte Systeme Programmieraufgabe

Rechnernetze und verteilte Systeme Programmieraufgabe Fakultät für Informatik Lehrstuhl 4 M. Sc.-Inf. Dimitri Scheftelowitsch Wintersemester 2016/17 M. Sc.-Math. Alexander Frank Ausgabe: 12. Dezember, Rechnernetze und verteilte Systeme Programmieraufgabe

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

7 Netzwerkprogrammierung

7 Netzwerkprogrammierung 7 Netzwerkprogrammierung in Java in Haskell Vorläufige Version 290 c 2003 Peter Thiemann 7.1 Internet-Adressen (IP-Adressen) Internet-Adresse = vier Oktette (je 8 Bit) jedes Endgerät besitzt eindeutige

Mehr

AvO-Übung 2 Remote Method Invocation

AvO-Übung 2 Remote Method Invocation AvO-Übung 2 Remote Method Invocation Jörg Domaschka und Andreas I. Schmied Institut für Verteilte Systeme 30. Oktober 2007 Übersicht 1 Besprechung der letzten Aufgaben 2 Aufruf-Semantiken 3 Netzwerkkommunikation

Mehr

Verwendung der Gruppenkommunikation JGroups

Verwendung der Gruppenkommunikation JGroups Entwickelt von Bela Ban als flexibel konfigurierbare Gruppenkommunikation in Java Information und Sourcen Webseite: http://www.jgroups.org/javagroupsnew/docs/index.html Manual und Tutorial CIP: /local/jgroups/

Mehr

GUI Events. Entstehen bei jeder Eingabe über die Bedienoberfläche (Maus bewegen, Maus Tasten drücken, Tastatur,...

GUI Events. Entstehen bei jeder Eingabe über die Bedienoberfläche (Maus bewegen, Maus Tasten drücken, Tastatur,... GUI Events Entstehen bei jeder Eingabe über die Bedienoberfläche (Maus bewegen, Maus Tasten drücken, Tastatur,...) Daten im Event: Koordinaten der Maus Zeitstempel Zustand der Maus Buttons Gedrückte Taste

Mehr

Programmierung mit sockets

Programmierung mit sockets Netzwerk-Programmierung Programmierung mit sockets Jan Krueger jkrueger@cebitec.uni-bielefeld.de Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Übersicht Datentypen und Konvertierung Minimaler Client

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

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

Institut für Betriebssysteme und Rechnerverbund Übungslösungen zur Vorlesung Verteilte Systeme, WS 02/03 http:www.ibr.cs.tu-bs.de/lehre/ws0203/vs/ Dozent: Prof. Dr. Stefan Fischer

Mehr

Nebenläufige und verteilte Programme CS2301

Nebenläufige und verteilte Programme CS2301 Nebenläufige und verteilte Programme CS2301 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences New I/O Kommunikation mit Channels und s und new Klassische Java-IO Strom-orientiert : Daten

Mehr

Java Einführung Exception Handling. Kapitel 17

Java Einführung Exception Handling. Kapitel 17 Java Einführung Exception Handling Kapitel 17 Inhalt Was sind Exceptoins? Wie werden sie ausgelöst? Wie kann man Exceptions behandeln? Erweiterung von Exceptions Spezialfall IO 2 Ausnahmezustände Im Ablauf

Mehr

Rechnerkommunikation. Aufgabenblatt 3. Webserver in Java

Rechnerkommunikation. Aufgabenblatt 3. Webserver in Java Rechnerkommunikation Aufgabenblatt 3 Webserver in Java In dieser Übung soll ein Webserver in zwei Schritten entwickelt werden. Am Ende sollen Sie demonstrieren können, dass der Webserver in der Lage ist,

Mehr

Programmieren 2 12 Netzwerke

Programmieren 2 12 Netzwerke Programmieren 2 12 Netzwerke Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Motivation Datenaustausch zwischen Programmen Spielstand Chat

Mehr

Protokolle und Schichten. Grundlagen der Rechnernetze Einführung 41

Protokolle und Schichten. Grundlagen der Rechnernetze Einführung 41 Protokolle und Schichten Grundlagen der Rechnernetze Einführung 41 Protokoll und Interface Host 1 Host 2 High Level Objekt High Level Objekt Service Interface Service Interface Protokoll Peer to peer Interface

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

VS: Verteilte Systeme Kap. 02 Kommunikation Prinzipien und Realisierung mit Sockets. Wolfgang Wiedermann FH Regensburg FH. Teil 1

VS: Verteilte Systeme Kap. 02 Kommunikation Prinzipien und Realisierung mit Sockets. Wolfgang Wiedermann FH Regensburg FH. Teil 1 VS: Verteilte Systeme Kap. 02 Kommunikation Prinzipien und Realisierung mit Sockets Wolfgang Wiedermann FH Regensburg FH Teil 1 1 Inhalt: Kommunikation Übersicht: Schichten Sockets Verbindungsfreie Sockets:

Mehr

Ausgewählte Implementierungsprobleme

Ausgewählte Implementierungsprobleme Ausgewählte Implementierungsprobleme Rebecca Tiarks 19. Januar 2009 1 / 55 Inhaltsverzeichnis 1 2 2 / 55 Adressierung in IP-Netzen IP-Adresse 32 Bit lang zur besseren Lesbarkeit schreibt man die Bytes

Mehr

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation java.io Ziel Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Ressourcen Java Tutorial Java API Dokumentation Page 1 Java API Prinzip Java IO-API ist für eine allgemeine

Mehr

Handbuch konsultieren!

Handbuch konsultieren! Zeichenketten Klasse String Enthält zahlreiche Methoden z.b.: int length(): Anzahl der Zeichen in Zeichenkette String substring(int start): Unterzeichenkette ab Position start boolean equalsignorecase(string

Mehr

Überblick. Verteilte Systeme - 4. Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs

Überblick. Verteilte Systeme - 4. Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs Überblick Verteilte Systeme - 4. Übung Tobias Distler, Michael Gernoth, Reinhard Tartler Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)

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

Internet Modell. Nothing stated. Bildquelle: Andrew S. Tanenbaum, Computer Networks, Fourth Edition, 2003 Grundlagen der Rechnernetze Einführung 50

Internet Modell. Nothing stated. Bildquelle: Andrew S. Tanenbaum, Computer Networks, Fourth Edition, 2003 Grundlagen der Rechnernetze Einführung 50 Internet Modell Nothing stated by TCP/IP model Bildquelle: Andrew S. Tanenbaum, Computer Networks, Fourth Edition, 2003 Grundlagen der Rechnernetze Einführung 50 Internet Protokolle Bildquelle: Andrew

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 16. Java: Threads für Animationen 1 Motivation

Mehr

Klausur Rechnernetze

Klausur Rechnernetze Klausur Rechnernetze Studiengang MI Sommersemester 2007, 30. Mai FH Giessen-Friedberg Prof. Dr. Euler Name Vorname Matrikelnummer Studiengang MI / TI / WK Aufgabe 1 2 3 4 5 Punkte Gesamtpunkte Ich bin

Mehr

2 Netzwerkprogrammierung in Java

2 Netzwerkprogrammierung in Java 2 Netzwerkprogrammierung in Java In package java.net Vorläufige Version 31 c 2006 Peter Thiemann 2.1 Internet-Adressen (IP-Adressen) Internet-Adresse = vier Oktette (je 8 Bit) jedes direkt mit dem Internet

Mehr

Java Fehlerbehandlung

Java Fehlerbehandlung Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm

Mehr

Netzprogrammierung Socketkommunikation im Internet

Netzprogrammierung Socketkommunikation im Internet Netzprogrammierung Socketkommunikation im Internet Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme mailto: tolk@inf.fu-berlin.de http://www.robert-tolksdorf.de

Mehr

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette. Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de 1 Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol

Mehr