Programmieren mit sockets

Größe: px
Ab Seite anzeigen:

Download "Programmieren mit sockets"

Transkript

1 Netzwerk-Programmierung Programmieren mit sockets Alexander Sczyrba Michael Beckstette 1

2 Übersicht Datentypen und Konversionsfunktionen minimaler Client minimaler Server 2

3 Berkeley sockets sockets API, erstmals in 4.2BSD (1983) sehr genereller Aufbau: TCP/IP named pipes OSI-Protokolle... C-Funktionen Adress- und Portinformationen in structs spezielle Perl-Funktionen zur Typkonversion 3

4 Namen und Adressen Netzwerk-Interface durch IP-Adresse identifiziert dotted quad-notation: lesbare Namen durch Domain Name System (DNS) keine Bijektion pan1.hrz.uni-bielefeld.de keine mathematische Funktion ( , ,... ) 4

5 Adress-Konversion use Socket; Binärdarstellung für socket-funktionen $iaddr = inet_aton( ); $iaddr = inet_aton( ); alternativ $iaddr = gethostbyname( ); andere Richtung: $dotquad = inet_ntoa($iaddr); Namen ermitteln $name = gethostbyaddr($iaddr, AF_INET); Im Listen-Kontext liefern die gethostby*-funktionen weitere Informationen: ($name, $aliases, $type, $len, $iaddr) = gethostbyname($reqname); ($name, $aliases, $type, $len, $iaddr) = gethostbyaddr($reqiaddr, AF_INET); 5

6 Aufgaben Wandle die folgenden Namen in Binärdarstellung um. Übersetze diese anschließend in dotted quad-notation zurück, bzw. löse sie mit Hilfe des DNS wieder zu Namen auf. Führe das Skript mehrfach aus. Was ist zu = qw(vino vino.techfak.uni-bielefeld.de ); Überprüfe die Ergebnisse mit dem Programm nslook: $ nslook -l $name inet aton $iaddr inet ntoa $dotquad gethostbyaddr $nname addrconv.pl: use Socket; = qw(vino vino.techfak.uni-bielefeld.de ); foreach $in_name (@hosts) { # my $iaddr = gethostbyname($in_name); my $iaddr = inet_aton($in_name); my $dotqd = inet_ntoa($iaddr); my $out_name = gethostbyaddr($iaddr, AF_INET); print "$in_name -> $iaddr -> $out_name ($dotqd)\n"; } 6

7 weitere Funktionen Protokolle (vgl. /etc/protocols) $proto = getprotobyname( tcp ); $tcp = getprotobynumber(6); Services (vgl. /etc/services) $service = getservbyname( daytime, tcp ); $daytime = getservbyport(13, tcp ); Auch diese Funktionen liefern im Listen-Kontext weitere Informationen zurück. 7

8 socket-adressen socket: Kombination aus Adresse und Port $sockaddr = sockaddr_in($port, $iaddr); andere Richtung ($port, $iaddr) = sockaddr_in($sockaddr); andere Adressfamilien $fifo = sockaddr_un( /tmp/socket ); 8

9 Arbeitsweise Client socket() connect() I/O close() Server 9

10 Client-Code erzeugen eines sockets: socket(socket, PF_INET, SOCK_STREAM, getprotobyname( tcp )) die "can t open socket: $!"; Verbindung herstellen: $sockaddr = sockaddr_in($peer_port, $peer_iaddr)); connect(socket, $sockaddr) die "can t connect: $!"; SOCKET zum lesen/schreiben verwenden socket schließen: close(socket); 10

11 Aufgaben Schreibe ein Client-Programm, das eine Verbindung aufbaut, alle Daten liest und die Verbindung wieder beendet. Der Zielrechner und der Zielport sollen als Argumente übergeben werden können. Probiere folgende Ports auf dem lokalen Rechner aus: 13 (daytime) 19 (chargen) 37 (time) 7 (echo) Überprüfe zunächst die zu erwartende Ausgabe mit telnet: teak:/homes/joern> telnet teak 13 Trying Connected to teak.techfak.uni-bielefeld.de. Escape character is ˆ]. Mon Jun 2 15:26: Connection closed by foreign host. simpleclient.pl: use Socket; if (@ARGV!= 2) { die "usage: $0 <host> <port>\n"; } my $host = shift; my $port = shift; socket(socket, PF_INET, SOCK_STREAM, getprotobyname( tcp )) die "can t open socket: $!"; my $sockaddr = sockaddr_in($port, inet_aton($host)); connect(socket, $sockaddr) die "can t connect: $!"; while ($line = <SOCKET>) { print $line; }; close(socket); 11

12 socket-informationen Port wird dynamisch zugewiesen (ephemeral port) beliebiges Interface bei multihomed host Informationen über sockets ermitteln: $mysockaddr = getsockname(socket); $hissockaddr = getpeername(socket); Weiterverarbeitung mit sockaddr in() 12

13 Aufgaben Erweitere das Programm aus der letzten Aufgabe so, daß alle Daten zur Verbindung angezeigt werden. Zur Erinnerung: socket pair: (IP-Adresse L, Port L, IP-Adresse R, Port R ) Rufe das Programm mehrfach auf. Was ist zu beobachten? infoclient.pl:... my $my_sockaddr = getsockname(socket); my ($my_port, $my_iaddr) = sockaddr_in($my_sockaddr); #my $my_addr = inet_ntoa($my_iaddr); my $my_addr = gethostbyaddr($my_iaddr, AF_INET); my $his_sockaddr = getpeername(socket); my ($his_port, $his_iaddr) = sockaddr_in($his_sockaddr); #my $his_addr = inet_ntoa($his_iaddr); my $his_addr = gethostbyaddr($his_iaddr, AF_INET); print "$my_addr.$my_port <--> $his_addr.$his_port\n";... 13

14 Arbeitsweise Server socket() connect() I/O close() I/O close() socket() bind() listen() accept() close() 14

15 Server-Code, Teil 1 socket(...) wie im Client socket an Port/Adresse binden: $sockaddr = sockaddr_in($local_port, INADDR_ANY); bind(socket, $sockaddr) die "can t bind socket: $!"; passive open und backlog: listen(socket, SOMAXCONN) die "can t listen: $!"; tatsächliche Größe des backlog abhängig vom Betriebssystem 15

16 Server-Code, Teil 2 Verbindungen entgegennehmen: $client_sockaddr = accept(connect, SOCKET) accept() blockiert, bis Verbindung hergestellt $client_sockaddr enthält Informationen über peer typischerweise in Schleife: while ($client_sockaddr = accept(... )) {... } CONNECT zum lesen/schreiben verwenden am Ende Verbindungs-socket schließen: close(connect); 16

17 Server-Code, cont. typischer Server-Code: socket(socket,...) bind(socket,...) listen(socket,...) while ( $sockaddr = accept(connect, SOCKET)) { } print CONNECT... oder line = <CONNECT> close(connect) close(socket) # optional 17

18 Aufgaben Schreibe einen Server, der auf Verbindungen wartet, zwei Zeilen Text sendet und dann die Verbindung schließt. Die erste Zeile soll den Client begrüßen, die zweite soll die aktuelle Uhrzeit ausgeben: hello teak.techfak.uni-bielefeld.de, nice to meet you it s Mon Jun 2 15:14: Du kannst den Server entweder mit dem Client aus der letzten Aufgabe oder mit dem Programm telnet testen. helloserv.pl: socket(socket, PF_INET, SOCK_STREAM, getprotobyname( tcp )) die "can t open socket: $!"; bind(socket, sockaddr_in($server_port, INADDR_ANY)) die "can t bind socket: $!"; listen(socket, SOMAXCONN) die "can t listen: $!"; while (my $client_sockaddr = accept(connect, SOCKET)) { my ($client_port, $client_iaddr) = sockaddr_in($client_sockaddr); my $client_name = gethostbyaddr($client_iaddr, AF_INET); my ($peer_port, $peer_iaddr) = sockaddr_in(getpeername(connect)); my $peer_name = gethostbyaddr($peer_iaddr, AF_INET); } print CONNECT "hello $client_name, nice to meet you\n"; print CONNECT "hello $peer_name, nice to meet you\n"; print CONNECT "it s ",scalar(localtime()),"\n"; close(connect); getpeername(connect) liefert die gleichen Informationen wie $client_sockaddr. 18

Programmieren mit sockets

Programmieren mit sockets Netzwerk-Programmierung Programmieren mit sockets Sven Hartmeier shartmei@techfak.uni-bielefeld.de Übersicht Datentypen und Konversionsfunktionen minimaler Client minimaler Server Netzwerk-Programmierung

Mehr

Programmieren mit sockets

Programmieren mit sockets Netzwerk - Programmierung Programmieren mit sockets Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Datentypen und Konversionsfunktionen minimaler

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

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

Netzwerk-Programmierung. Netzwerke.

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

Mehr

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier. Netzwerk-Programmierung Netzwerke Sven Hartmeier shartmei@techfak.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protokollfamilie TCP/IP Transmission Control Protocol (TCP) erste Schritte mit sockets Netzwerk-Programmierung

Mehr

Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming.

Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming. Netzwerk - Programmierung Netzwerke Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protokollfamilie TCP/IP Transmission

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

Mini-Projekt: miniirc

Mini-Projekt: miniirc Netzwerk-Programmierung Mini-Projekt: miniirc Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Übersicht Design des Servers mit Perl/Tk Kommunikations-Protokoll Netzwerk-Programmierung

Mehr

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

Projekt: Web-Server. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2014 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

Konsequenz für Forwarding Tabellen

Konsequenz für Forwarding Tabellen Konsequenz für Forwarding Tabellen Subnetznummer : 128. 96. 34. 0 Subnetzmaske : 255.255.255.128 128. 96. 34. 15 H1 128. 96. 34. 1 128. 96. 34.130 R1 Interface 1 Interface 2 128. 96. 34.128 255.255.255.128

Mehr

Netzwerk-Programmierung. Nonblocking I/O. Sven Hartmeier, Jan Krüger.

Netzwerk-Programmierung. Nonblocking I/O. Sven Hartmeier, Jan Krüger. Netzwerk-Programmierung Nonblocking I/O Sven Hartmeier, Jan Krüger shartmei@cebitec.uni-bielefeld.de jkrueger@cebitec.uni-bielefeld.de 1 Übersicht Grenzen von select nonblocking I/O 2 Lesen oder schreiben?

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

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

J-1 Überblick. 1 Binden von Sockets. Besprechung 6. Aufgabe (jsh) Domain, z. B. (PF_ = Protocol Family) Byteorder bei Netzwerkkommunikation

J-1 Überblick. 1 Binden von Sockets. Besprechung 6. Aufgabe (jsh) Domain, z. B. (PF_ = Protocol Family) Byteorder bei Netzwerkkommunikation J 8. Übung J 8. Übung J-1 Überblick #include int socket(int domain, int type, int protocol); Besprechung 6. Aufgabe (jsh) Byteorder bei Netzwerkkommunikation Domain, z. B. (PF_ = Protocol

Mehr

Protokollgraph. Host 1. Host 2. Protokoll 2. Protokoll 1. Protokoll 3. Protokoll 4. Grundlagen der Rechnernetze Einführung 46

Protokollgraph. Host 1. Host 2. Protokoll 2. Protokoll 1. Protokoll 3. Protokoll 4. Grundlagen der Rechnernetze Einführung 46 Protokollgraph Host 1 Host 2 Protokoll 1 Protokoll 2 Protokoll 1 Protokoll 2 Protokoll 3 Protokoll 3 Protokoll 4 Protokoll 4 Grundlagen der Rechnernetze Einführung 46 Nachrichtenkapselung Host 1 Anwendung

Mehr

Kommunikation von Prozessen: Signale und Pipes

Kommunikation von Prozessen: Signale und Pipes Netzwerk-Programmierung Kommunikation von Prozessen: Signale und Pipes Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Kommunikation von Prozessen Parent- und Child-Prozess

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

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

Netzwerk-Programmierung in C

Netzwerk-Programmierung in C 1 / 26 Netzwerk-Programmierung in C Oliver Bartels Fachbereich Informatik Universität Hamburg 2 Juli 2014 2 / 26 Inhaltsverzeichniss 1 IPv4 und IPv6 Wie werden Daten verschickt? 2 3 Verbindungsaufbau ohne

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

Parallelisierung mit Hilfe von Netzwerkdiensten 218

Parallelisierung mit Hilfe von Netzwerkdiensten 218 Netzwerkdienste 217 Ein Netzwerkdienst ist ein Prozess, der unter einer Netzwerkadresse einen Dienst anbietet. Ein Klient, der die Netzwerkadresse kennt, kann einen bidirektionalen Kommunikationskanal

Mehr

IPv6 kompatible Programmierung unter Unix. Vortrag von Dipl. Inf. Matthias Scheler Paderborn, Juli 2004

IPv6 kompatible Programmierung unter Unix. Vortrag von Dipl. Inf. Matthias Scheler Paderborn, Juli 2004 1 IPv6 kompatible Programmierung unter Unix Vortrag von Dipl. Inf. Matthias Scheler Paderborn, Juli 2004 2 Was ist IPv6? Internet Protocol Version 6 (auch Internet Protocol Next Generation genannt) Nachfolger

Mehr

Mailserver Teil 1 Linux-Kurs der Unix-AG

Mailserver Teil 1 Linux-Kurs der Unix-AG Mailserver Teil 1 Linux-Kurs der Unix-AG Andreas Teuchert 16. Februar 2015 Übersicht MTA/MSA MTA/MDA SMTP POP3/IMAP SMTP MUA MUA Andreas Teuchert Mailserver Teil 1 16. Februar 2015 2 / 16 Mail-Client auch

Mehr

Perl-Praxis. Subroutinen. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld

Perl-Praxis. Subroutinen. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld Perl-Praxis Subroutinen Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger@techfak.uni-bielefeld.de Übersicht Subroutinen

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

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen?

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen? E-Mail Nachrichtenübertragung 1 Wie werden Nachrichten Übertragen? Über Protokolle: SMTP (Simple Mail Transfer Protocol) POP3 (Post Office Protocol Version 3) IMAP (Internet Message Access Protocol) 2

Mehr

Portieren von Anwendungen auf IPv6

Portieren von Anwendungen auf IPv6 Portieren von Anwendungen auf IPv6 Michael Stapelberg 2. IPv6-Kongress 20. Mai 2010 Über mich Student an der Uni Heidelberg seit über 10 Jahren im Internet Autor IPv6-fähiger Programme wie mxallowd, i3status

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN UNIX/Linux-Interprozesskommunikation, zugehörige Systemaufrufe und Kommandos 12. UNIX/Linux-Sockets Wintersemester 2016/17 UNIX/Linux-IPC-Mechanismen Nachrichtenbasierter

Mehr

HA-API der Oracle Clusterware 10gR2

HA-API der Oracle Clusterware 10gR2 HA-API der Oracle Clusterware 10gR2 Tilo Henke Senior Berater Oracle Consulting Berlin DOAG Regionaltreffen Berlin-Brandenburg März 2006 Cluster unabhängige Server kooperieren wie ein Einzelsystem besteht

Mehr

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht Themen Transportschicht Internet TCP/UDP Transportschicht Schicht 4 des OSI-Modells Schicht 3 des TCP/IP-Modells Aufgaben / Dienste: Kommunikation von Anwendungsprogrammen über ein Netzwerk Aufteilung

Mehr

7. Tafelübung. Socket - Erzeugung. Netzwerkkommunikation und Byteorder. Binden von Sockets. Lösung der jsh-aufgabe. Erläuterung der rshd-aufgabe

7. Tafelübung. Socket - Erzeugung. Netzwerkkommunikation und Byteorder. Binden von Sockets. Lösung der jsh-aufgabe. Erläuterung der rshd-aufgabe 7. Tafelübung Lösung der jsh-aufgabe Erläuterung der rshd-aufgabe Sockets Socket - Erzeugung s = socket(domain, type, protocol) Domain, z.b. AF_INET: Internet AF_UNIX: Unix Filesystem AF_APPLETALK: Appletalk

Mehr

Logging, Threaded Server

Logging, Threaded Server Netzwerk-Programmierung Logging, Threaded Server Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste@techfak.uni-bielefeld.de 1 Übersicht Logging Varianten für concurrent server 2 current working directory

Mehr

Perl-Praxis. Subroutinen. Jörn Clausen

Perl-Praxis. Subroutinen. Jörn Clausen Perl-Praxis Subroutinen Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Subroutinen Sichtbarkeitsbereiche, scoping Parameter Modularisierung Perl-Praxis Subroutinen 2/22 Subroutinen Warum Funktionen/Prozeduren/Methoden?

Mehr

Michael Golm, Universität Erlangen-Nürnberg, IMMD 4, 1999/2000 1999-12-20 14.51 / Tafelübung 7. Netzwerkkommunikation und Byteorder

Michael Golm, Universität Erlangen-Nürnberg, IMMD 4, 1999/2000 1999-12-20 14.51 / Tafelübung 7. Netzwerkkommunikation und Byteorder 7. Tafelübung Lösung der jsh-aufgabe Erläuterung der rshd-aufgabe Sockets 83 Netzwerkkommunikation und Byteorder Wiederholung: Byteorder big endian little endian 0 1 2 3 11 aa bb cc cc bb aa 11 0x11aabbcc

Mehr

Lösung Übungszettel 6

Lösung Übungszettel 6 Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik SS 03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 1 Aufgabe 1: Parallel-Server 1.1 Client #include

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

An Open Interface for Network Programming under Microsoft Windows. DI. Dr. Peter René Dietmüller

An Open Interface for Network Programming under Microsoft Windows. DI. Dr. Peter René Dietmüller Windows Sockets An Open Interface for Network Programming under Microsoft Windows DI. Dr. Peter René Dietmüller Institut für Informationsverarbeitung und Mikroprozessortechnik Johannes Kepler Universität

Mehr

X12L 21. Oktober a) HTML - ein Dateiformat, welches maschinenlesbare Verweise (links) enthält,

X12L 21. Oktober a) HTML - ein Dateiformat, welches maschinenlesbare Verweise (links) enthält, 1.2 HTML/HTTP 1.2.1 Kurzüberblick: http im Netzwerk Zur Verwirklichung der Hypertextidee brauchte man a) HTML - ein Dateiformat, welches maschinenlesbare Verweise (links) enthält, b) einen (netzwerkfähigen)

Mehr

Übungen zu Systemprogrammierung I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2003 H-Uebung6.fm

Übungen zu Systemprogrammierung I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2003 H-Uebung6.fm H 6. Übung H 6. Übung H.1 Überblick Besprechung 4. Aufgabe (mysh) Signale (Fortsetzung) Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Duplizieren von Filedeskriptoren Netzwerkprogrammierung

Mehr

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger.

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger. Perl-Praxis CGI-Skripte Madis Rumming, Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte 2/16

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

Praktikum Netzwerke. Für den Speicherort tragen Sie Ihr Netzlaufwerk und entsprechende Unterverzeichnisse ein, z.b.:

Praktikum Netzwerke. Für den Speicherort tragen Sie Ihr Netzlaufwerk und entsprechende Unterverzeichnisse ein, z.b.: Praktikum Netzwerke Socketprogrammierung mit Visual Studio Programmieren eines Servers (1) Erstellen Sie ein neues Projekt mit Visual Studio: Für den Speicherort tragen Sie Ihr Netzlaufwerk und entsprechende

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2004 / 2005 Teil 2 Sockets cs 0200 ww6 wgs 09-96 Literatur Socket-Schnittstelle J. Martin, J. Leben: TCP/IP Netzwerke. Prentice Hall, 1994, Kapitel

Mehr

Perl-Praxis. Dateien und Daten. Jörn Clausen

Perl-Praxis. Dateien und Daten. Jörn Clausen Perl-Praxis Dateien und Daten Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Kommandozeilen-Parameter Informationen über Dateien Daten aus Dateien lesen Daten in Dateien schreiben mit pipes lesen

Mehr

Zusammenfassung für CS-Prüfung 3 Seite 1. CS-Zusammenfassung für Prüfung 3 vom Im Beispiel gibt es 3 Deadlocks

Zusammenfassung für CS-Prüfung 3 Seite 1. CS-Zusammenfassung für Prüfung 3 vom Im Beispiel gibt es 3 Deadlocks Zusammenfassung für CS-Prüfung 3 Seite 1 CS-Zusammenfassung für Prüfung 3 vom 24. 6. 2002 Deadlock Im Beispiel gibt es 3 Deadlocks Unterschied zwischen Blockieren, Verklemmen und Verhungenrn= -> Band 1

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

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung String Operationen i = 25 text1 = "Ich bin " text2 = " Jahre alt" print (text1 + str(i) + text2) print ("ich bin", i, "Jahre alt") print ("ich bin %s Jahre alt" % i) >>> Ich bin 25

Mehr

7.4 Kommunikation. großzügige Pufferung, sowohl Auftragsbeziehungen als auch Nachrichten- oder Byte-Ströme, sowohl lokal als auch übers Netz

7.4 Kommunikation. großzügige Pufferung, sowohl Auftragsbeziehungen als auch Nachrichten- oder Byte-Ströme, sowohl lokal als auch übers Netz 7.4 Kommunikation Kommunikation zwischen Benutzerprozessen (IPK) stellt andere Anforderungen als auftragsorientierte Kommunikation in mikrokernbasierten Betriebssystemen, vor allem großzügige Pufferung,

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2003/2004 Teil 2 Sockets cs 0200 ww6 wgs 09-96 Literatur Socket-Schnittstelle J. Martin, J. Leben: TCP/IP Netzwerke. Prentice Hall, 1994, Kapitel

Mehr

Netzwerk Linux-Kurs der Unix-AG

Netzwerk Linux-Kurs der Unix-AG Netzwerk Linux-Kurs der Unix-AG Benjamin Eberle 13. Juli 2016 Netzwerke mehrere miteinander verbundene Geräte (z. B. Computer) bilden ein Netzwerk Verbindung üblicherweise über einen Switch (Ethernet)

Mehr

Berkeley Sockets 187

Berkeley Sockets 187 Berkeley Sockets 187 Für TCP/IP gibt es zwei Schnittstellen, die beide zum POSIX-Standard gehören: Die Berkeley Sockets wurden 1983 im Rahmen von BSD 4.2 eingeführt. Dies war die erste TCP/IP-Implementierung.

Mehr

Installation und Betrieb des Virtual Serial Port Emulators (VSPE) Mai 2012

Installation und Betrieb des Virtual Serial Port Emulators (VSPE) Mai 2012 Installation und Betrieb des Virtual Serial Port Emulators (VSPE) Mai 2012 GPRS/UMTS/LAN/WAN TCP/IP Connection 1 von 10 Inhaltsverzeichnis Installation und Betrieb des Virtual Serial Port Emulators (VSPE)

Mehr

Komplexe Datenstrukturen

Komplexe Datenstrukturen Perl-Praxis Komplexe Datenstrukturen Madis Rumming Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de 1 Übersicht Hashes Referenzen komplexe Datenstrukturen 2 Hashes dritter grundlegender Datentyp

Mehr

Threads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger

Threads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes

Mehr

Netzwerk-Programmierung. Prozesse. Alexander Sczyrba Michael Beckstette.

Netzwerk-Programmierung. Prozesse. Alexander Sczyrba Michael Beckstette. Netzwerk-Programmierung Prozesse Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste@techfak.uni-bielefeld.de 1 Übersicht Prozesse fork() Parents und Childs system() und exec() 2 Prozesse moderne Betriebssysteme

Mehr

Komplexe Datenstrukturen

Komplexe Datenstrukturen Perl-Praxis Komplexe Datenstrukturen Madis Rumming Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht Hashes Referenzen komplexe Datenstrukturen Perl-Praxis Komplexe Datenstrukturen 2/23

Mehr

1 Communication Domain und Protokoll

1 Communication Domain und Protokoll U9 9. Übung U9 9. Übung U9-1 Netzwerkkommunikation und Byteorder U9-1 Netzwerkkommunikation und Byteorder Besprechung Aufgabe 7 (lash) Wiederholung: Byteorder Informationen zu Aufgabe 8 (simail) Byteorder

Mehr

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server.

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Websockets Websocket: Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Vergleichbar mit TCP/IP-Socket, aber durch Client-Skript direkt nutzbar Mit eingebauter Nachrichten-Fragmentierung.

Mehr

System-Programmierung 9: Sockets. CC BY-SA, Thomas Amberg, FHNW (soweit nicht anders vermerkt)

System-Programmierung 9: Sockets. CC BY-SA, Thomas Amberg, FHNW (soweit nicht anders vermerkt) System-Programmierung 9: Sockets CC BY-SA, Thomas Amberg, FHNW (soweit nicht anders vermerkt) Ablauf heute ⅔ Vorlesung, ⅓ Hands-on, Feedback. Slides, Code & Hands-on: tmb.gr/syspr-9 Sockets Sockets sind

Mehr

Simple Mail Transfer Protocol, Spam und IM2000

Simple Mail Transfer Protocol, Spam und IM2000 Simple Mail Transfer Protocol, Spam und IM2000 Vortrag von Ingo Blechschmidt am 1. Dezember 2004 Gliederung Design Typischer Ablauf Spam, Spam-Abwehr, Spam-Verhinderung IM2000 als neues Mail-Protokoll

Mehr

Attribute: Name (Zuweisung eines Namens durch Binding) Communication Domain Duplizieren von Filedeskriptoren. SoS I - Ü

Attribute: Name (Zuweisung eines Namens durch Binding) Communication Domain Duplizieren von Filedeskriptoren. SoS I - Ü U7 7. Übung U7 7. Übung U7-1 Überblick Endpunkte einer Kommunikationsverbindung Besprechung 4. Aufgabe (malloc) Arbeitsweise: FIFO, bidirektional Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung

Mehr

U7-2 Netzwerkkommunikation und Byteorder

U7-2 Netzwerkkommunikation und Byteorder U7 7. Übung U7 7. Übung U7-1 Überblick Besprechung 4. Aufgabe (malloc) Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Duplizieren von Filedeskriptoren Netzwerkprogrammierung - Verschiedenes

Mehr

Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Netzwerkprogrammierung - Verschiedenes

Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Netzwerkprogrammierung - Verschiedenes U9 9. Übung U9 9. Übung Besprechung Aufgabe 7 (lash) Informationen zu Aufgabe 8 (simail) Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Netzwerkprogrammierung - Verschiedenes U9.1

Mehr

Perl-Praxis. Subroutinen.

Perl-Praxis. Subroutinen. Perl-Praxis Subroutinen Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Subroutinen Sichtbarkeitsbereiche, scoping Parameter Modularisierung 2 Subroutinen Warum Funktionen/Prozeduren/Methoden?

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

Netzwerkprogrammierung unter Linux und UNIX

Netzwerkprogrammierung unter Linux und UNIX Netzwerkprogrammierung unter Linux und UNIX Bearbeitet von Stefan Fischer, Walter Müller 2. Auflage 1999. Buch. XII, 228 S. Hardcover ISBN 978 3 446 21093 6 Format (B x L): 14 x 20,9 cm Gewicht: 329 g

Mehr

open (PIPE, " /usr/lib/sendmail -t") or die "sendmail open failed"; print PIPE "From: testuser\@desy.de\n"; print PIPE "To:

open (PIPE,  /usr/lib/sendmail -t) or die sendmail open failed; print PIPE From: testuser\@desy.de\n; print PIPE To: open (PIPE, " /usr/lib/sendmail -t") or die "sendmail open failed"; print PIPE "From: testuser\@desy.de\n"; print PIPE "To: wolfgang.friebel\@desy.de\n"; print PIPE "Subject: test of service\n\n"; print

Mehr

Ereignisbasierte Kommunikationsmodelle

Ereignisbasierte Kommunikationsmodelle 2008 Gliederung Aufgabenstellung 1 Aufgabenstellung Aufgabe 2 Gliederung Aufgabenstellung Aufgabe 1 Aufgabenstellung Aufgabe 2 Aufgabe Aufgabe Entwicklung einer Komponente eines ereignisbasierten Kommunikationsmodelles

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

Komplexe Datenstrukturen

Komplexe Datenstrukturen Perl-Praxis Komplexe Datenstrukturen Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger}@techfak.uni-bielefeld.de Übersicht

Mehr

File Transfer Protocol

File Transfer Protocol Ingo Blechschmidt LUGA 25. Januar 2006 Inhalt 1 Geschichte Aufbau 2 3 Benutzernamen/Passwörter Separater Datenkanal Lücken im FTP-Daemon Geschichte Geschichte Aufbau Erste Definition in

Mehr

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle 1 Schichten 5..7 Rolle der Transportschicht im OSI- Referenzmodell Anforderungen des Anwendungsprozesses

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2005/2006 Teil 2 Sockets cs 0200 ww6 wgs 09-96 Literatur Socket-Schnittstelle J. Martin, J. Leben: TCP/IP Netzwerke. Prentice Hall, 1994, Kapitel

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

7. OSI-Modell als Rollenspiel

7. OSI-Modell als Rollenspiel 7.1 Rollen Mit Hilfe eines Rollenspiels soll der gesamte Ablauf der Anfrage einer Webseite bei einem Web-Server dargestellt werden. An einer Web-Anfrage sind folgende Rollen beteiligt: 1. User 2. Browser

Mehr

Blatt 2, Kommunikationskanäle. Betriebssysteme. Deadlocks. Kommunikationskanäle. y=12; recv(k2, y); y = y+4; send(k1, y);

Blatt 2, Kommunikationskanäle. Betriebssysteme. Deadlocks. Kommunikationskanäle. y=12; recv(k2, y); y = y+4; send(k1, y); Blatt 2, Kommunikationskanäle Betriebssysteme Übung 7 Martin Alt Gruppe PVS Institut für Informatik Gegeben sind die beiden folgenden Prozesse: P 1 : P 2 : send(k2, x); recv(k1,z); recv(k2, y); send(k1,

Mehr

Vorlesung 11. Netze. Peter B. Ladkin Sommersemester 2001

Vorlesung 11. Netze. Peter B. Ladkin Sommersemester 2001 Vorlesung 11 Netze Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Sommersemester 2001 Vielen Dank an Andrew Tanenbaum, Vrije Universiteit Amsterdam, für die Bilder Andrew Tanenbaum, Computer Networks, 3.

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

7.4 Kommunikation. Nachrichten- oder Byte-Ströme,

7.4 Kommunikation. Nachrichten- oder Byte-Ströme, 7.4 Kommunikation Kommunikation zwischen Benutzerprozessen (IPK) stellt andere Anforderungen als auftragsorientierte Kommunikation in mikrokernbasierten Betriebssystemen, vor allem großzügige Pufferung,

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

Nagios Erweiterungen Der Rest. Nagios / Icinga. OpenSource Network-Monitoring im großen Stil. Manuel Landesfeind

Nagios Erweiterungen Der Rest. Nagios / Icinga. OpenSource Network-Monitoring im großen Stil. Manuel Landesfeind Erweiterungen Der Rest / Icinga OpenSource Network-Monitoring im großen Stil Manuel Landesfeind Institut für Mathematik Georg-August-Universität Göttingen This presentation can be used under the terms

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2006/2007 Teil 2 Sockets cs 0200 ww6 wgs 09-96 Literatur Socket-Schnittstelle J. Martin, J. Leben: TCP/IP Netzwerke. Prentice Hall, 1994, Kapitel

Mehr

Praxis Linux-Administration

Praxis Linux-Administration 5. Veranstaltung Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 02. Juni 2014 1/24 Übersicht Themen für heute 2/24 Laborumgebung auf dem Host vorbereiten Aufbau der Laborumgebung aufbauen

Mehr

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

Kommunikation im Netzwerk

Kommunikation im Netzwerk Kommunikation im Netzwerk Die Client-Server Beziehung Der Client stellt eine Frage (Request) an den Server, dieser sendet eine Antworte (Response) zurück. Grundlage ist die Verfügbarkeit von Sockets, die

Mehr

Komplexe Datenstrukturen

Komplexe Datenstrukturen Perl-Praxis Komplexe Datenstrukturen Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Hashes Referenzen komplexe Datenstrukturen Perl-Praxis Komplexe Datenstrukturen 2/21 Hashes dritter grundlegender

Mehr

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle 1 Schichten 5..7 Schicht 4 Rolle der Transportschicht im OSI- Referenzmodell Anforderungen

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

System Tools Teil 7/4.1 Seite 1

System Tools Teil 7/4.1 Seite 1 System Tools Teil 7/4.1 Seite 1 Encode-Base64 7/4 System Tools 7/4.1 Encode-Base64 Das im Folgenden angegebene Perl-Script liest einen Eingabestrom von Daten und codiert ihn nach der in Teil 9/3.4 beschriebenen

Mehr

Anleitung zur Konfiguration der TCP/IP-Kommunikation zwischen ArcGIS Lizenzmanager 10.5 und ArcGIS Desktop 10.5 Client(s) (Mai 2017)

Anleitung zur Konfiguration der TCP/IP-Kommunikation zwischen ArcGIS Lizenzmanager 10.5 und ArcGIS Desktop 10.5 Client(s) (Mai 2017) Anleitung zur Konfiguration der TCP/IP-Kommunikation zwischen ArcGIS Lizenzmanager 10.5 und ArcGIS Desktop 10.5 Client(s) (Mai 2017) Copyright 2017 Esri Deutschland GmbH Inhalt 1 Einleitung... 3 2 Voraussetzungen...

Mehr

# Socketprogrammierung

# Socketprogrammierung # Socketprogrammierung Socketprogrammierung in C/C++ Christian Benjamin Ries 21.02.2008 Dipl.-Ing. (FH) Christian Benjamin Ries 1 # Agenda Ziel Einführung Netzwerkprotokolle Was sind Sockets? Funktionen

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2008/2009 Teil 2 Sockets cs 0200 ww6 wgs 09-96 Literatur Socket-Schnittstelle J. Martin, J. Leben: TCP/IP Netzwerke. Prentice Hall, 1994, Kapitel

Mehr

Perl-Praxis. Dateien und Daten. Jörn Clausen Daniel Hagemeier, Jan Krüger

Perl-Praxis. Dateien und Daten. Jörn Clausen Daniel Hagemeier, Jan Krüger Perl-Praxis Dateien und Daten Jörn Clausen Daniel Hagemeier, Jan Krüger {dhagemei,jkrueger}@cebitec.uni-bielefeld.de Übersicht Informationen über Dateien Daten aus Dateien lesen Daten in Dateien schreiben

Mehr