Client-Server TCP/IP - Kodierung
|
|
- Ernst Waldfogel
- vor 6 Jahren
- Abrufe
Transkript
1 Client-Server TCP/IP - Kodierung
2 Die Socketklassen Ein Socket (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination aus IP-Adresse und einer Portnummer (RFC 793,original TCP Spezification) Die Kommunikation findet zwischen einem Server und einem Client über einen definierten Port statt. Java hat vordefinierte Klassen in dem Packet java.net, die die Funktionalität bereitstellen Die beiden Schlüsselklassen für die Erstellung von Server-Client-Programme sind: ServerSocket Socket
3 Prinzip der Socketprogrammierung
4 Ablauf eines Socket-Programms Server ServerSocket(1024) Bytes Socket(" ",1024) Inputstream Outputstream Client
5 Server-Kodierung I ServerSocket serversocket = new ServerSocket(1024); Öffnet einen ServerSocket um einem bestimmten Port zu nach Anfragen zu lauschen socket = serversocket.accept(); Ist eine Verbindungsanfrage da, wird ein neuer Socket erstellt, durch den der Server die Daten mit dem Client durch Input-und Outputstreams austauscht: accept() gibt den Socket zurück, der die Verbindung zum Server herstellt outputstream = socket.getoutputstream(); Öffnen des Outputstreams
6 Server-Kodierung II 4. outputstream.write(255); Durch Ausgabestream einen Wert zum Clienten senden 5. outputstream.close(); Ausgabestream schließen 6. socket.close(); Socket schließen
7 Client-Kodierung I socket = new Socket("localhost",1024); Erstellt einen neuen Socket localhost ist der aktuelle PC und kann(muss) durch die IP-Adresse ersetzt werden, wenn die Kommunikation über mehrere PCs geht inputstream = socket.getinputstream(); Erstellt einen neuen Inputstream In der Regel auch einen Outputstream zahl = inputstream.read(); Liest die ankommenden Daten in eine Variable ein
8 Client-Kodierung II 4. inputstream.close(); Schließt den Inputstream(evtl. auch Outputstream) 5. socket.close(); Schließt den Socket
9 Arten von Sockets Client Server Fordert die Verbindung an Sorgt für Datenaustausch socket = new Socket("localhost",1024); Arbeitssocket serversocket = new ServerSocket(1024); Serversocket socket = serversocket.accept(); Arbeitssocket Horcht auf eingehende Verbindungsanfragen von Clients Sorgt für Datenaustausch
10 Einführungsbeispiel Server-Client: Server ServerSocket serversocket = null; Socket socket = null; OutputStream outputstream = null; try { serversocket = new ServerSocket(1024); while(true) { System.out.println("Warte auf Client..."); socket = serversocket.accept(); System.out.println("Bin mit Client verbunden."); outputstream = socket.getoutputstream(); outputstream.write(255); outputstream.close(); socket.close(); } } Deklarieren und initialisieren der Objekte Erstellt einen ServerSocket gebunden an Port 1024 Unendliche Wiederholungsanweisung für ankommende Nachrichten Socket lauscht auf dem Port 1024 auf ankommende Nachrichten Sendet 255 an den Klienten(der den Wert in die Konsole schreibt) Schließen des Sockets der Nachricht ->Aufgabe 1
11 Einführungsbeispiel Server-Client: Client Socket socket = null; InputStream inputstream = null; int zahl; try { socket = new Socket("localhost",1024); inputstream = socket.getinputstream(); zahl = inputstream.read(); System.out.println(zahl ); inputstream.close(); socket.close(); } Deklarieren und initialisieren der Objekte Erstellt einen ServerSocket gebunden an Port 1024 der durch localhost an den gleichen Rechner sendet! Liest einen InputStream für das Socket Einlesen der Daten(Byte) aus dem InputStream Schliessen des InputStreams und des Sockets
12 Die Methoden der ServerSocket und Socketklasse ServerSocket(int port): Erstellt einen Socket und lauscht dem Port accept(): Akzeptiert eine eingehende Verbindung und akzeptiert diese Socket(String host, int port): Erzeugt einen Socket und verbindet ihn zu dem angegebenen Port auf dem Host getinputstream(): Liest eingehende Daten getoutputstream(); Liest ausgehende Daten close(): Schliesst den Socket Weitere Informationen finden sich unter:
13 Arten von Streams Daten Java Programm Bytes (8-Bits) Daten Java Programm Characters (16 - Bits)
14 Byteströme(InputStream/OutputStream) I Java Programm read() write() byte Inputstream Outputstream byte Datenquelle Datenziel
15 Byteströme(InputStream/OutputStream) II InputStream inputstream = new FileInputStream("d:\\test\\data.txt"); int data = inputstream.read(); Ein Byte in integer-variable einlesen while(data!= -1) { Solange Daten eingelesen wurden System.out.print((char)data); Die Daten werden als Byte eingelesen data = inputstream.read(); Nächstes Byte einlesen } inputstream.close(); Datenstrom schließen InputStream initialisieren
16 Byteströme(InputStream/OutputStream) III InputStream inputstream = new FileInputStream("d:\\test\\data.txt"); byte[] data = new byte[1024]; int bytesread = inputstream.read(data); while(bytesread!= -1) { System.out.print(new String(data, "UTF-8")); bytesread = inputstream.read(data); } inputstream.close(); Ein Byte Array als Datenpuffer Die ersten max Bytes einlesen Solange Daten eingelesen worden sind Byte-Array in String umwandeln Die nächsten max Zeichen einlesen Datenstrom schließen int read(): Liest und gibt ein Byte zurück; wenn keine Daten mehr da sind:- 1 int read(byte[] b): Liest Daten in ein Byte-Array und gibt die Anzahl der gelesen Zeichen zurück int write(byte[] b): Schreibt Daten aus einem Byte-Array
17 Byteströme(InputStream/OutputStream) III InputStream inputstream = new FileInputStream("d:\\test\\data.txt"); InputStream inputstream ; inputstream = new FileInputStream("d:\\test\\data.txt"); The FileInputStream class makes it possible to read the contents of a file as a stream of bytes. The FileInputStream class is a subclass of InputStream. This means that you use the FileInputStream as an InputStream (FileInputStream behaves like an InputStream). Inputstream FileInput- Stream
18 Datenströme(DataInputStream/DataOutputStream) I Java Programm int, float, double Data Input stream DataOut put stream int, float, double bytes bytes bytes Input stream Output stream bytes Datenquelle Datenziel
19 Datenströme(DataInputStream/DataOutputStream) II String filename="d:\\test\\data.txt"; Datenstrom öffnen DataOutputStream dataoutputstream =new DataOutputStream(new FileOutputStream(filename)); dataoutputstream.writeint(123); Die Daten werden als int gelesen dataoutputstream.close(); Datenstrom schließen Datenstrom schließen DataInputStream datainputstream =new DataInputStream(new FileInputStream(filename)); int int123 = datainputstream.readint(); Die Daten werden als int geschrieben datainputstream.close(); Datenstrom schließen System.out.println("int123 = " + int123);
20 Datenströme(DataInputStream/DataOutputStream) II
21 DataInputStream - Client - Server Kodierung I Socket mysocket = new Socket( localhost,1024); DataInputStream input = new DataInputStream(socket.getInputStream()); Die Klasse DataInputStream erlaubt ganze Zeilen von Text sowie primitive Datentypen zu lesen. Sie haben Methoden wie read, readint, readdouble und readline
22 DataInputStream - Client - Server Kodierung II Socket mysocket = new Socket( localhost,1024); DataOutputStream output =new DataOutputStream(socket.getOutputStream ()); PrintStream output = new PrintOutputStream(socket.getOutputStream()); Die Klasse PrintStream erlaubt ganze Zeilen von Text sowie primitive Datentypen zu schreiben mit den Funktionen write() und println(). Die Klasse DataOutputStream erlaubt nur primitive Datentypen zu schreiben wie z.b. writebytes() Weitere Informationen zu Streams finden sich unter:
23 Eingehende Datenströme mit InputStreamReader bytes Input Stream bytes Input Stream Reader chars Datenquelle Programmkode FileInput- Lokal/Unicode Stream Kodierung
24 OutputStreamWriter/InputStreamReader I Ersetzt "try" Optional Wahl des Zeichensatzes für die import java.io.*; Konvertierung in Bytes(ISO-Latin1, UTF-8, UTF-16) public class OutputStreamWriterExample { public static void main(string[] args) throws IOException { OutputStream outputstream = new FileOutputStream("Data.txt"); Writer outputstreamwriter = new OutputStreamWriter(outputStream); //Writer outputstreamwriter = new OutputStreamWriter(outputStream,"UTF-16"); outputstreamwriter.write("any fool can."); outputstreamwriter.close(); } }
25 Kodierungen(ASCII und Unicode) A ~ ASCII 41 7e UTF e e282ac UTF e 20ac UTF e ac
26
27 Eingehende Datenströme mit BufferedReader bytes Input Stream bytes Input Stream Reader chars Buffered Reader Datenquelle Programmkode FileInput- Lokal/Unicode Stream Kodierung Puffer
28 BufferedWriter/BufferedReader I import java.io.*; filestream OutputStreamWriter - BufferedWriter public class BufferedWriterExample { public static void main(string[] args) throws IOException { writeusingbufferwriter(); Ersetzt "try" } private static void writeusingbufferwriter() throws IOException { System.out.println("1. Start writing contents to file - BufferedWriter"); try (FileOutputStream filestream = new FileOutputStream(new File("MyFavSports.txt")); OutputStreamWriter writer = new OutputStreamWriter(fileStream); BufferedWriter bufferwriter = new BufferedWriter(writer)) { bufferwriter.write("blitz chess(easy)"); bufferwriter.newline(); bufferwriter.write("blitz Java stream coding(hardest)"); bufferwriter.newline(); } System.out.println("2. Successfully written contents to file - BufferedWriter"); } }
29 BufferedWriter/BufferedReader II Writer bufferwriter = new BufferedWriter(writer)); Writer Writer bufferwriter; bufferwriter = new BufferedWriter(writer)); Buffered Writer
30 Eingehende Datenströme(Analog ausgehende Datenströme)
Arten von Streams. Daten. Bytes (8-Bits) Java Programm. Daten. Java Programm. Characters (16 - Bits)
Datenströme Arten von Streams Daten 0 1 1 0 1 0 1 0 Java Programm Bytes (8-Bits) Daten 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 Java Programm Characters (16 - Bits) Byteströme(InputStream/OutputStream) I Java Programm
MehrClient-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
MehrSocket-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
MehrEinstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Streams Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Ein-Ausgabe 2 Klassenhierarchie (Byteorientiert) 3 Klassenhierarchie
MehrReferat: 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)
MehrSocket-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
MehrProgrammiermethodik. Ü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
MehrEingabe 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;
MehrJava I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus
Java I/O Input / Output stream Library Regelt I/O über verschiedene Kanäle Filesystem Console Netzwerk Intern Führt notwendige Umwandlungen/Konvertierungen aus 1 Furchtbar viele Klassen BufferedInputStream
MehrDatenströme in Java. Zeichenkonvertierung
Datenströme in Java Arten von Strömen Ein- und Ausgabeoperationen sind in Java im Wesentlichen über Datenströme realisiert. Dabei werden zwei Arten von Datenströmen unterschieden; byteorientierte Ströme
MehrClient-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
MehrStreams. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Streams Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 4.7.07 G. Bohlender (IANM UNI Karlsruhe) Streams 4.7.07 1 / 7 Übersicht 1 Einführung
MehrVerteilte 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
MehrStreams. Thomas Schwotzer
Streams Thomas Schwotzer 1 Einführung Wir haben uns mit abstrakten Klassen beschäftigt. Ganz generell ist das Konzept der Abstraktion ein grundsätzliches in der Informatik. Wir ITler bauen Software-Maschinen.
MehrProgrammiermethodik. Ü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
MehrJava 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
Mehrjava.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
MehrJava I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus
Java I/O Input / Output stream Library Regelt I/O über verschiedene Kanäle Filesystem Console Netzwerk Intern Führt notwendige Umwandlungen/Konvertierungen aus 1 Furchtbar viele Klassen BufferedInputStream
MehrKapitel 9. Ein- und Ausgabe. 9.1 Ströme
Kapitel 9 Ein- und Ausgabe In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über die Kommandozeile und Ausgaben immer durch Aufruf der Methode System.out.println realisiert. Tatsächlich
MehrEin- und Ausgabe. Algorithmen und Datenstrukturen II 1
Ein- und Ausgabe Algorithmen und Datenstrukturen II 1 In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über die Kommandozeile und Ausgaben immer durch Aufruf der Methode System.out.println
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Ein- und Ausgabe In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über
MehrKommentare, 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
MehrVorlesung Programmieren
Vorlesung Programmieren Java I/O Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe
MehrGrundlagen der Objektorientierten Programmierung - Ein- / Ausgabe-Streams
Java-API: Stream-Klassen Die API-Bibliothek java.io bietet zahlreiche Stream-Klassen mit vielen Ein- und Ausgabefunktionen, mit deren Hilfe alle denkbaren Arten von Datenübertragungen und -konvertierungen
MehrTransmission 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
MehrStreams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI
Ein- Ausgabe Streams Unterlagen zum Modul "OOP mit Java" V 3.0 2011 by WBR1&MOU2/BFH-TI Ein- Ausgabe, Streams V3.0 2011 by WBR1&MOU2/BFH-TI Definition: Berner Fachhochschule Streams Ein Stream ist eine
MehrHandbuch 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
MehrUmleitung von Datenströmen
Datenströme Filter und Pipes In UNIX eingeführte Abstraktion beim Datenaustausch Programme arbeiten als Erzeuger und/oder als Verbraucher von Datenströmen ==> Filter Die Erzeuger- und Verbraucherschnittstelle
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 27. Januar 2016 Lesen und Schreiben von Zeichen Reader read(); close();
MehrProgrammieren 2 Selbststudium Semesterwoche 6
Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream
MehrAusnahmen. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik
Ausnahmen Zentralübung zur Vorlesung http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arten von Fehlern Auslösen von Ausnahmen Vermeiden von Ausnahmen Ausnahmeklassen
MehrVerteilte 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:
MehrProgrammieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum
MehrNetwork 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
MehrAusnahmen und IO. Fehler, Ausnahmen, Java- Exception, throw, catch, Ströme, Puffer, Dateien lesen, schreiben, Tastatur, Terminal, HTTP
Ausnahmen und IO Fehler, Ausnahmen, Java- Exception, throw, catch, Ströme, Puffer, Dateien lesen, schreiben, Tastatur, Terminal, HTTP Fehler - Ausnahmen Fehler Fehler :: Unreparierbares Unreparierbares
MehrInfo B VL 7: Input/Output
Info B VL 7: Input/Output Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 7: Input/Output p.174 Exkurs:
MehrDateien/Streams. Arthur Zaczek
Dateien/Streams Arthur Zaczek Okt 2015 1/23 Input/Output Input/Output 2/23 Was ist ein Stream? Figure 1: InputStream Input/Output 3/23 Warum streamen? Reduktion des Speicherverbrauchs: es muss nicht der
MehrNetzwerkprogrammierung
Netzwerkprogrammierung 1 Netzwerkverbindungen Das Entwurfsziel von Java war: Einfache Verbindung zwischen Rechnern und SetBox-Systemen. Das Standardpaket java.net hilft bei allen Netzwerkverbindungen.
MehrProgrammieren 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
MehrVorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme
Vorlesung Programmieren Java I/O Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe
MehrJAVA für Einsteiger. Streams und Dateien. eden market Autor: Norman Lahme
JAVA für Einsteiger Streams und Dateien eden market Autor: Norman Lahme 1 Gliederung 1. Einleitung 2. Bildschirmausgabe und Tastatureingabe 3. Laden und Speichern von Tex ten 4. Laden und Speichern von
MehrGrundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Datei! Das Problem!
Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Wintersemester 2014/2015 Ziele dieses Kapitels Sie verstehen das Konzept der Ströme Sie können Klassen wie Reader, Writer,
MehrKapitel 12. Programmierkurs. Allgemeine Konzepte Byte-Streams versus Character-Streams
Kapitel 12 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln WS 07/08 Dateiein- und -ausgabe Byte-Streams versus Character-Streams Die abstrakte Klasse Writer FileWriter
MehrJava 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
MehrDateien/Streams. Arthur Zaczek. Okt 2015
Arthur Zaczek Okt 2015 1 Input/Output 1.1 Was ist ein Stream? Figure 1: InputStream Figure 2: OutputStream Graphik: (C) Copyright 1995-2009 Sun Microsystems, Inc. 1.2 Warum streamen? Reduktion des Speicherverbrauchs:
MehrDateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Dateien: Allgemeines 2 Dateien lesen 3 Beispiel: CSV-Daten 4 Filter 5 Ausgabe in Dateien Dateien: Allgemeines Kaum eine
MehrB.1 Überblick über die 1. Übung B.1 Überblick über die 1. Übung
B.1 Überblick über die 1. Übung B.1 Überblick über die 1. Übung Streams (Ein-/Ausgabe) Sockets (Netzwerkprogrammierung) Serialisierung Hinweise Aufgabe 1 Universität Erlangen-Nürnberg Informatik 4, 2007
MehrB.2 Das Java Ein-/Ausgabesystem. B.1 Überblick über die 1. Übung. Streams (Ein-/Ausgabe) Sockets (Netzwerkprogrammierung) Serialisierung
B.1 Überblick über die 1. Übung B.1 Überblick über die 1. Übung Streams (Ein-/Ausgabe) Sockets (Netzwerkprogrammierung) Serialisierung Universität Erlangen-Nürnberg Informatik 4, 2008 B-Uebung1.fm 2008-10-22
Mehr1 Byteströme. 2 Spezialisierungen von Strömen. Lösungsskizze Aufgabe 1. Hinweise Aufgabe 2. Streams (Ein-/Ausgabe) Sockets (Netzwerkprogrammierung)
C Überblick über die 2. Übung C Überblick über die 2. Übung 1 Byteströme Lösungsskizze Aufgabe 1 Hinweise Aufgabe 2 Streams (Ein-/Ausgabe) Benutzer Sockets (Netzwerkprogrammierung) Serialisierung Universität
MehrEinführung in die Informatik Algorithmen und Datenstrukturen. Thema 12 Datenverarbeitung
Einführung in die Informatik Algorithmen und Datenstrukturen Thema 12 Datenverarbeitung Daten - Definitionen Foto? Text? Musik? Video? Zeichnung? Programm? Daten, urspr. svw. geschichtl. Zeitangaben; heute
MehrJava Einführung IO (Eingabe/Ausgabe)
Java Einführung IO (Eingabe/Ausgabe) Inhalt dieser Einheit Ein-/Ausgabe: Arbeiten mit Verzeichnissen und Dateien Schreiben und Lesen von Dateien bzw. Datenströmen Fehlerbehandlung beim Schreiben und Lesen
MehrAbschnitt 18: Beispiel: I/O-Streams
Abschnitt 18: Beispiel: I/O-Streams 18. Beispiel: I/O-Streams 18.1 Eingabe/Ausgabe 18.2 Dateien 18.3 Streams 18.4 Lesen: Inputstreams, Reader 18.5 Schreiben: Outputstreams, Writer 18.6 I/O Ausnahmen 18
MehrB.2 Das Java Ein-/Ausgabesystem
B.1 Überblick über die 1. Übung B.1 Überblick über die 1. Übung 1 Byteströme Streams (Ein-/Ausgabe) Sockets (Netzwerkprogrammierung) Serialisierung Benutzer Universität Erlangen-Nürnberg Informatik 4,
MehrProblemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2
Problemstellung Objekt mit aggregierten Objekten: att1: att2: 17 Object1:Klasse1 Object2:Klasse2 att1: Klasse1 att2: 9 serialisiert als Datei: Klasse1 att1 att2 Klasse2 att1 att2 -Speicherung von Objekten
Mehr4. 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
MehrNetzwerkprogrammierung & 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
MehrAK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de
Aufgaben: Ein Ausgabe Ein Rechner verwaltet nicht nur Daten, die während der Laufzeit des Programms erzeugt werden. Die meisten Programme greifen auf ältere Datenbestände zurück oder erzeugen für einen
MehrWie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen?
Problem 2: Wie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen? Dazu stellt Java im Paket Ú º Ó eine Vielzahl von Klassen zur Verfügung... 15.1 Byteweise Ein- und Ausgabe Zuerst
MehrEin String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.
Strings Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Beispiel: String zeile = "Cusanus-Gymnasium Wittlich";
MehrJava 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
MehrDateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum
MehrProgrammieren 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
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrAusnahmebehandlung PK11W-16,
Ausnahmebehandlung PK11W-16, 05. 12. 2011 1 Laufzeitfehler weitere Ausführung unmöglich Ausnahme geworfen Beispiele: ArrayIndexOutOfBoundsException NullPointerException ArithmeticException AssertionError
MehrSerielle Kommunikation - Kodierung
Serielle Kommunikation - Kodierung (1.) Erstellen Sie nachfolgende Klasse: Dabei haben die Methoden folgende Funktionen: exists(): Überprüft, ob eine serielle Schnittstelle existiert getproperties(): Liefert
MehrVorlesung Programmieren
Vorlesung 25.01.2007 Wintersemester 2006/2007 Computerlinguistik, Campus DU Überblick Seite 2 Datenströme: Ein und Ausgabe von Daten Java Collections Framework Eingabe/Ausgabe Seite 3 Lesen, Schreiben
MehrBeispiel 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
MehrVersuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.
Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung
MehrJava Input/Output System (IO)
Java Input/Output System (IO) Ziel: Schreiben und Lesen von Daten auf sequentielle Medien. Paket: java.io. ab Java 1.4 auch java.nio, hier nicht beru cksichtigt. Trennung in 2 Welten: - Byteorientierte
MehrTCP 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;
MehrObjektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer
Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;
MehrRechnerkommunikation. 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,
MehrAusdrucksbäume in verschiedenen Darstellungen
Ausdrucksbäume in verschiedenen Darstellungen SWE-42 Infix mit notwendigen Klammern: (a + b) / (c - d) Infix vollständig geklammert: (((a) + (b)) / ((c) - (d))) Postfix a b + c d - / Präfix / + a b - c
MehrEin- und Ausgabe in Java
Ein- und Ausgabe in Java Das Package java.io enthält eine Sammlung von Klassen, die die Kommunikation mit dem Computer steuern Einlesen und Ausgeben von Dateien Ausgabe auf dem Bildschirm Einlesen von
MehrInformatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 18/19
Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 18/19 Praktikum zur Vorlesung
MehrBetriebssysteme. Wintersemester Kapitel 4 Ein- / Ausgabe und Dateisysteme. Patrick Kendzo
Betriebssysteme Wintersemester 2013 Kapitel 4 Ein- / Ausgabe und Dateisysteme Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme
Mehr3.11 Ausnahmen und Ein-/Ausgabe
3.11 Ausnahmen und Ein-/Ausgabe Wir werden uns in diesem Kapitel näher mit Ausnahmen und Ein-/Ausgabe in Java beschäftigen. Praktische Informatik I Wolfgang 3. Die Programmiersprache Java 3.11-1 Übersicht
MehrBeispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme
Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,
MehrLesen und Schreiben von Dateien
Lesen und Schreiben von Dateien Pfade, Text-Dateien und Binäre Dateien Dr. Beatrice Amrhein Überblick Der Verzeichnis-Pfad Kopieren, Verschieben, Ändern oder Löschen von Dateien Lesen und Schreiben von
MehrProgrammieren 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
MehrAusnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung : http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten: Syntaktische Fehler
MehrEinführung in die Informatik
Einführung in die Informatik Klassen Konstruktoren, Methoden, Implementierung, Dateien Wolfram Burgard 3/1 Erzeugen von Objekten Jede Klasse hat wenigstens eine Methode zum Erzeugen von Objekten. Solche
MehrVerbindungen 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
MehrJavakurs für Fortgeschrittene
Javakurs für Fortgeschrittene Einheit 02: Streams filtern Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Datenströme (Streams) Filtern FilterWriter, - Reader Praxis:
MehrDistinguished 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
Mehr15 Ein-/Ausgabe 15-1. Kommunikation. Dateien. Schreiben und Lesen von Dateien. Sockets. Übungsaufgaben
15 Ein-/Ausgabe 15-1 Inhalt Kommunikation Dateien Schreiben und Lesen von Dateien Übersetzung von Unicode in lokale Codierungen Dateien im Netz Sockets Übungsaufgaben Dateien Vielleicht sollten wir zuerst
MehrJava 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
MehrEinführung in die Informatik Files and Streams
Einführung in die Informatik Files and Streams Arbeiten mit Dateien und Streams Wolfram Burgard Cyrill Stachniss 5.1 Dateien Bisher gingen alle Ausgaben nach Standard output, d.h. auf den Monitor. Der
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrAusnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten:
MehrBeispiel 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:
MehrWo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 313
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
MehrAusnahmen. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Fehlerarten Bei der Programmierung
Mehr