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

Größe: px
Ab Seite anzeigen:

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

Transkript

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

2 Übersicht Grenzen von select nonblocking I/O 2

3 Lesen oder schreiben? Multiplexing per select: Wer schreibt? aber: sysread/syswrite können blockieren deadlocks weiterhin möglich 3

4 Aufgaben Sieh Dir das Programm selectecho1.pl an. Verbinde es mit dem echo-server auf asien. Was passiert, wenn Du das Programm mit dem slow-echo-server reden läßt? Der slow-echo-server läuft auf australien und asien auf dem Port Er arbeitet wie der echo-server, gibt die gelesenen Daten aber mit vier Sekunden Verzögerung und in Blöcken von 30 Bytes zurück. selectecho1.pl: # create Select object, listen to socket my $select = IO::Select->new() die "can t create Select object: $!\n"; $select->add($socket); my $buffer; $ = 1; while (1) { # try to write = $select->can_write(); if (@writer) { my $buffer = scalar(localtime()); my $len = syswrite($socket, $buffer); print "wrote ",substr($buffer, 0, $len),"\n"; # try to read = $select->can_read(); if (@reader) { my $len = sysread($socket, $buffer, 80); print "read ",$buffer,"\n"; # to something else print "do something else\n"; 4

5 Aufgaben Das Programm selectecho2.pl verwendet eine Variante der select-methode: my ($readers, $writers, undef) = IO::Select->select($select, $select, undef); Wie verhält sich das Programm im Zusammenspiel mit dem slow-echo-server? Die Methoden can read, can write und select akzeptieren als weiteren Parameter einen timeout. Probiere in selectecho2.pl timeouts von 1 und 0 Sekunden aus. Was passiert? selectecho2.pl: while (1) { # look who s ready to read or write my ($readers, $writers, undef) = IO::Select->select($select, $select, undef); # write, if the socket is writeable foreach (@$writers) { my $buffer = scalar(localtime()); my $len = syswrite($socket, $buffer); print "wrote ",substr($buffer, 0, $len),"\n"; # read, if the socket is readable foreach (@$readers) { my $len = sysread($socket, $buffer, 80); print "read ",$buffer,"\n"; # do something else print "do something else\n"; 5

6 nonblocking I/O markiere handle/socket als nonblocking Schreib-/Lesezugriffe blockieren nicht entweder Daten oder Fehler falls Fehler: sysread/syswrite liefert undef $! wird auf EWOULDBLOCK gesetzt use Errno qw(:posix); 6

7 nonblocking handles handle beim Öffnen als nonblocking markieren sysopen(file, $name, O_RDWR O_NONBLOCK); nachträglich setzen: my $flags = fcntl(file, F_GETFL, 0); fcntl(file, F_SETFL, $flags O_NONBLOCK); Makros in Modul Fcntl OO-Interface: $socket->blocking(0); 7

8 Beispiel use Errno qw(:posix); $socket->blocking(0); while ($running) { my $len = sysread($socket, $buffer, $buflen); if (defined($len)) { if ($len) { print "read: $buffer\n"; else { $running = 0; else { if ($! == EWOULDBLOCK) { print "BLOCK PREVENTED\n"; else { die "unexpected error: $!\n"; 8

9 Aufgabe Der Lotto-Server (australien/asien:55555) generiert im Abstand von einer Sekunde jeweils eine Zufallszahl. Schreibe ein Programm, das solange von diesem Server liest, bis sechs verschiedene Zahlen gesammelt wurden. Verwende das Modul Rotor.pm, um anzuzeigen, daß Dein Programm auf die nächste Zufallszahl wartet. Sieh Dir das Programm rotor.pl zur Dokumentation an. lottoclient.pl: $socket->blocking(0); my %lotto = (); my $buffer; my $rotor = Rotor->new(); while (keys(%lotto) < 6) { # try to read number from socket my $len = sysread($socket, $buffer, 5); if (defined($len)) { if ($len == 0) { die "connection closed by peer\n"; if (my ($num) = ($buffer = /ˆ(\d+)$/)) { $lotto{$num = 1; print "fetched $num\n"; else { if ($! == EWOULDBLOCK) { $rotor->print; else { die "unexpected error: $!\n"; $socket->close(); print "your lucky numbers are ", join(, sort({$a<=>$b keys(%lotto))),".\n"; 9

10 Aufgabe Schreibe den echo-client vom Anfang der Stunde mit Hilfe von nonblocking I/O so um, daß nicht mehr select verwendet wird. nonblockecho.pl: while (1) { # try to write my $buffer = scalar(localtime()); my $len = syswrite($socket, $buffer); if (defined($len)) { print "wrote ",substr($buffer, 0, $len),"\n"; # try to read my $len = sysread($socket, $buffer, 80); if (defined($len)) { print "read ",$buffer,"\n"; # do something else $rotor->print(); Eigentlich müßte noch der Fall behandelt werden, daß beim syswrite nur ein Teil des buffers geschrieben wird. Der Rest des zu sendenden Textes müßte dann in weiteren Versuchen geschrieben werden. 10

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

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 Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de 1 Übersicht Datentypen und Konversionsfunktionen minimaler Client minimaler

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

Ereignisbearbeitung. Proactor Asychronous Completion Token Acceptor Connector. Software Design Patterns

Ereignisbearbeitung. Proactor Asychronous Completion Token Acceptor Connector. Software Design Patterns Ereignisbearbeitung Proactor Asychronous Completion Token Acceptor Connector Software Design Patterns 01072009 Überblick Woher kommen diese Pattern? Welche Formen von I/O gibt es? Was ist Ereignisbearbeitung?

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

10. Datenbanken und DBI Ties BerkeleyDB Datenbanken und DBI Oracle, Mysql und Proxy Server Ties tie

10. Datenbanken und DBI Ties BerkeleyDB Datenbanken und DBI Oracle, Mysql und Proxy Server Ties tie tie TIESCALAR, FETCH, STORE, DESTROY FIRSTKEY, NEXTKEY... tie $var, $class, @args; $class->tiescalar @args; # constructor $var untie $var; Tie::Scalar, Tie::Hash, Tie::DBI DB_File, BerkeleyDB perldoc perltie

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

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

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

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

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

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

How to create a Gift Certificate Wie man ein Gift Certificate (Gutschein) erstellt

How to create a Gift Certificate Wie man ein Gift Certificate (Gutschein) erstellt 1) Login www.lopoca.com Username, Password 2) Click My Finances Gift Certificates Summary: Overview of your Gift Certificates Übersicht Ihrer Gift Certificates Create new: Create new Gift Certificate Neues

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Objekterkennung auf Bildern mit OpenCV und Image::ObjectDetect

Objekterkennung auf Bildern mit OpenCV und Image::ObjectDetect Objekterkennung auf Bildern mit OpenCV und Image::ObjectDetect Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.3 The use of a camel image in association with

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 07.01.2013 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

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

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

Quick Guide Home Network Mode

Quick Guide Home Network Mode Quick Guide Home Network Mode English > 1 German > 3 About the Home Network Mode EN Tivizen Nano & iplug normally work on their own created networks (whose SSID starts with tivizentv or iplug ) in which

Mehr

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

Mehr

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

Perl-Praxis. Dateien und Daten. Jörn Clausen Jens Reeder, Jan Krüger Perl-Praxis Dateien und Daten Jörn Clausen Jens Reeder, Jan Krüger {jreeder,jkrueger}@techfak.uni-bielefeld.de Übersicht Informationen über Dateien Daten aus Dateien lesen Daten in Dateien schreiben mit

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

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Dokumentation CanFox API

Dokumentation CanFox API Dokumentation CanFox API Author: Andreas Herbertz Erstellt: 18.09.2012 Sontheim Industrie Elektronik GmbH Georg-Krug-Straße 2, D-87437 Kempten Telefon: +49) 0831.575900-0 Fax: +49) 0831.575900-72 Email:

Mehr

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

Klausur IA12.0/13.0 353 Rechnernetze am 4.2.2002

Klausur IA12.0/13.0 353 Rechnernetze am 4.2.2002 Klausur IA12.0/13.0 353 Rechnernetze am 4.2.2002 Dauer : 100 Minuten keine externen Hilfsmittel Aufgabe 1 : (20 Punkte) Bestimmen Sie für jede nachfolgend gegebene IP-Hostadresse die zugehörige IP-Teilnetzadresse

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

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

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

Von Keerthikan T. & Siyar Kolusari 10.12.2012

Von Keerthikan T. & Siyar Kolusari 10.12.2012 M226 OBJECT ORIENTIERT PROGRAMMIEREN Project Checkers An online multi-player Java Game Von Keerthikan T. & Siyar Kolusari 10.12.2012 Inhaltsverzeichnis 1. Projektbeschreibung 3 1.1. Inhalt 3 2. Ziele

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

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

ATHOS Benutzertreffen 2012 ODS 5.3.0

ATHOS Benutzertreffen 2012 ODS 5.3.0 ATHOS Benutzertreffen 2012 ODS 5.3.0 Karst Schaap HighQSoft GmbH 28.11.2012 HighQSoft GmbH www.highqsoft.de Neue Features Änderungen des Basismodells Änderungen des OO API. Noch offen Geplant Ende 2012

Mehr

Prozesse. Netzwerk - Programmierung. Alexander Sczyrba Madis Rumming

Prozesse. Netzwerk - Programmierung. Alexander Sczyrba Madis Rumming Netzwerk - Programmierung Prozesse Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse fork() Parents und Children system() und exec()

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ausnahmebehandlung und Nebenläufigkeit 9. Vorlesung am 15. Dezember 2010 Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A

Mehr

Perl-Praxis. Dateien und Daten.

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

Mehr

Perl-Praxis. Dateien und Daten. Madis Rumming Jan Krüger

Perl-Praxis. Dateien und Daten. Madis Rumming Jan Krüger Perl-Praxis Dateien und Daten Madis Rumming Jan Krüger {mrumming,jkrueger@cebitec.uni-bielefeld.de 1 Übersicht Informationen über Dateien Daten aus Dateien lesen Daten in Dateien schreiben mit pipes lesen

Mehr

Einfache SDO-Zugriffe für CANopen-E/A-Module

Einfache SDO-Zugriffe für CANopen-E/A-Module ( wirklich ohne Ballast? ) Autor: Wolfgang Büscher Stand: 18.05.2001 Ablage: c:\cproj\ea_mod\doku\art85029_Ea515_Easy_SDO.odt Verteiler: (unbekannt) ACHTUNG: DIESE BESCHREIBUNG IST NICHT ALS GRUNDLAGE

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

1. Java installieren 2. Java für graf.eit.h-da.de im Java Control Panel freigeben 3. Starten der Java Applets oder Java Web Start im Webbrowser

1. Java installieren 2. Java für graf.eit.h-da.de im Java Control Panel freigeben 3. Starten der Java Applets oder Java Web Start im Webbrowser DE: Die Simulationen auf https://graf.eit.h-da.de und JXN verwenden Java. Dieses Dokument beschreibt die Installation von Java und die Freigabe von Java Applets und Java Web Start für graf.eit.h-da.de.

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

Ausnahmebehandlung in Java

Ausnahmebehandlung in Java Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A { void foo() throws Help { if (helpneeded()) throw new Help();... try {... catch (Help e) {... catch (Exception

Mehr

Streams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI

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

Mehr

10: Serial Communication Interface (SCI)

10: Serial Communication Interface (SCI) 10: Serial Communication Interface (SCI) Sie verstehen das RS-232 Protokoll sowie das Zusammenspiel zwischen HW und SW bei der Kommunikation über die serielle Schnittstelle. 1. Systemüberblick Vom PC aus

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

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer Allgemeines Shell Programmierung Unix Shell Scripts Unix Ein shell script ist eine Textdatei, welche eine Liste von Befehlen (Standard Unix Befehle) beinhaltet. Diese Datei kann durch Aufrufen ausgeführt

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split

Mehr

Schleifen: Immer wieder dasselbe tun

Schleifen: Immer wieder dasselbe tun Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung

Mehr

kim.uni-hohenheim.de

kim.uni-hohenheim.de VPN-Client Apple ios 10.0.2 Konfiguration und Installation des internen VPN-Clients und Cisco AnyConnect VPN-Clients Configuring and installing the internal VPN client and Cisco AnyConnect VPN client 09.10.2018

Mehr

Single- und Multitasking

Single- und Multitasking Single- und Multitasking Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Peter B. Ladkin Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe "liest" (parst) die Eingabe (für Prog-Name) Macht "Lookup"

Mehr

Das Zeitalter der Fünf 3: Götter (German Edition)

Das Zeitalter der Fünf 3: Götter (German Edition) Das Zeitalter der Fünf 3: Götter (German Edition) Trudi Canavan Click here if your download doesn"t start automatically Das Zeitalter der Fünf 3: Götter (German Edition) Trudi Canavan Das Zeitalter der

Mehr

AC395/1 (AC120) Fehlercodes Steuerung. Steuerungsfehler.doc

AC395/1 (AC120) Fehlercodes Steuerung. Steuerungsfehler.doc AC395/1 (AC120) Fehlercodes Steuerung Steuerungsfehler.doc 17.09.99 ECIS - Dokumentation 2 Inhaltsverzeichnis 1 Fehlercodes deutsch... 3 1.1 S 00nn Fehlercode Steuerung allgemein... 3 1.2 S 01nn Eingang

Mehr

Serielle Kommunikation - Kodierung

Serielle 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

Mehr

Object Oriented Perl. Wie man auch bei "einfachen" Skripts mit modernen Software Entwicklungs-Methoden Qualität und Produktivität verbessern kann

Object Oriented Perl. Wie man auch bei einfachen Skripts mit modernen Software Entwicklungs-Methoden Qualität und Produktivität verbessern kann Object Oriented Perl -- oder -- Wie man auch bei "einfachen" Skripts mit modernen Software Entwicklungs-Methoden Qualität und Produktivität verbessern kann Gerd Aschemann, 22. April 2005 1 SelfGOL #!/usr/bin/perl

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 9 I/O (2) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät UNIX I/O UNIX I/O: ähnlich wie Standard-I/O, jedoch File-Deskriptoren

Mehr

Einführung in Perl. WWW, Teil 3: CGI-Skripte

Einführung in Perl. WWW, Teil 3: CGI-Skripte Einführung in Perl WWW, Teil 3: CGI-Skripte Jörn Clausen Georg Fuellen Übersicht CGI: Common Gateway Interface CGI.pm Web-Formulare temporäre Dateien file-locking PSfrag replacements Datenaustausch im

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

Im Fluss der Zeit: Gedanken beim Älterwerden (HERDER spektrum) (German Edition)

Im Fluss der Zeit: Gedanken beim Älterwerden (HERDER spektrum) (German Edition) Im Fluss der Zeit: Gedanken beim Älterwerden (HERDER spektrum) (German Edition) Ulrich Schaffer Click here if your download doesn"t start automatically Im Fluss der Zeit: Gedanken beim Älterwerden (HERDER

Mehr

Lab 3 User Level Threads

Lab 3 User Level Threads Humboldt University Computer Science Department Operating Systems Principles Lab 3 User Level Threads Lab 2 Gesucht: eine einfache Shell 1. Bereitstellen einer Kommandozeile und Ausführen eines Programms

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

1 - FortProg ist: [ ] objekt-orientiert; [ ] funktional; [ ] logisch; [ ] manchmal nicht auszuhalten

1 - FortProg ist: [ ] objekt-orientiert; [ ] funktional; [ ] logisch; [ ] manchmal nicht auszuhalten 1 - FortProg ist: [ ] objekt-orientiert; [ ] funktional; [ ] logisch; [ ] manchmal nicht auszuhalten Java-1. a), e) Java-2. --- gestrichen --- Java-3. keine Antwort ist richtig Java-4. a) Java-5. a), b)

Mehr

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

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

PLC-5- und SLC-Prozessoren im DH+ Verbund (SLC 5/04 -Prozessoren)

PLC-5- und SLC-Prozessoren im DH+ Verbund (SLC 5/04 -Prozessoren) Schnellinformation PLC-5- und SLC-Prozessoren im DH+ Verbund (SLC 5/04 -Prozessoren) In dieser Publikation sind Informationen aus verfügbaren PLC - und SLC -Dokumentationen zusammengestellt, um die Kommunikation

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

DOWNLOAD OR READ : DIE WEISE VON LIEBE UND TOD DES CORNETS CHRISTOPH RILKE TEXT FASSUNGEN UND DOKUMENTE HRSG VON WALTER SIMON PDF EBOOK EPUB MOBI

DOWNLOAD OR READ : DIE WEISE VON LIEBE UND TOD DES CORNETS CHRISTOPH RILKE TEXT FASSUNGEN UND DOKUMENTE HRSG VON WALTER SIMON PDF EBOOK EPUB MOBI DOWNLOAD OR READ : DIE WEISE VON LIEBE UND TOD DES CORNETS CHRISTOPH RILKE TEXT FASSUNGEN UND DOKUMENTE HRSG VON WALTER SIMON PDF EBOOK EPUB MOBI Page 1 Page 2 walter simon die weise von liebe pdf walter

Mehr

G-FLASH OBD-TOOL ANLEITUNG FÜR BMW & AMG-MODELLE INSTALLATIONSSOFTWARE & VORBEREITUNG

G-FLASH OBD-TOOL ANLEITUNG FÜR BMW & AMG-MODELLE INSTALLATIONSSOFTWARE & VORBEREITUNG INSTALLATIONSSOFTWARE & VORBEREITUNG 1. Laden Sie die Installationssoftware für das G-POWER G-Flash OBD-Tool von diesem Link https://tinyurl.com/mygeniusclient auf Ihren Laptop / PC herunter und führen

Mehr

Best friends. Fertigkeit/en. Hören / Verstehen (HV) Lesen / Verstehen (LV) An Gesprächen teilnehmen (AGt) Relevante Grundkompetenz/en

Best friends. Fertigkeit/en. Hören / Verstehen (HV) Lesen / Verstehen (LV) An Gesprächen teilnehmen (AGt) Relevante Grundkompetenz/en Best friends ENGLISCH Fertigkeit/en Relevante Grundkompetenz/en Hören / Verstehen (HV) Lesen / Verstehen (LV) An Gesprächen teilnehmen (AGt) HV 1 e: Kann sehr einfache altersgemäße Gespräche bzw. Dialoge

Mehr

How-To-Do. OPC-Server with MPI and ISO over TCP/IP Communication. Content. How-To-Do OPC-Server with MPI- und ISO over TCP/IP Communication

How-To-Do. OPC-Server with MPI and ISO over TCP/IP Communication. Content. How-To-Do OPC-Server with MPI- und ISO over TCP/IP Communication How-To-Do OPC-Server with MPI and ISO over TCP/IP Content OPC-Server with MPI and ISO over TCP/IP... 1 1 General... 2 1.1 Information... 2 1.2 Reference... 2 2 Procedure for the Setup of the OPC Server...

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

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

Fortgeschrittene I/O

Fortgeschrittene I/O 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

Die Datenbank und der Strukturentwurf wurden vorher mit phpmyadmin erzeugt.

Die Datenbank und der Strukturentwurf wurden vorher mit phpmyadmin erzeugt. PHP und MySQLi Der Benutzer kann mit Hilfe von PHP eine komfortable Schnittstelle zu den MySQL-Datenbanken herstellen, um Daten anzuzeigen, einzufügen, zu verändern und zu löschen. Die Datenbank und der

Mehr

Der zerbrochene Krug: Vollständige Ausgabe (German Edition)

Der zerbrochene Krug: Vollständige Ausgabe (German Edition) Der zerbrochene Krug: Vollständige Ausgabe (German Edition) Click here if your download doesn"t start automatically Der zerbrochene Krug: Vollständige Ausgabe (German Edition) Der zerbrochene Krug: Vollständige

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

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

Minderjährige Kinder: Kindergeld und Steuervorteile für Eltern (German Edition) Click here if your download doesn"t start automatically

Minderjährige Kinder: Kindergeld und Steuervorteile für Eltern (German Edition) Click here if your download doesnt start automatically Minderjährige Kinder: Kindergeld und Steuervorteile für Eltern (German Edition) Click here if your download doesn"t start automatically Minderjährige Kinder: Kindergeld und Steuervorteile für Eltern (German

Mehr

Übungsstunde 10. Einführung in die Programmierung

Übungsstunde 10. Einführung in die Programmierung Übungsstunde 10 Einführung in die Programmierung Probleme bei Übung 9 [TODO Assistent] Nachbesprechung Übung 10 Aufgabe 1: Klassen (Bonus!) Feedback nach der Korrektur direkt per SVN Aufgabe 2: Interfaces

Mehr

Exceptions. Prof. Dr.-Ing. Thomas Schwotzer 21. November 2017

Exceptions. Prof. Dr.-Ing. Thomas Schwotzer 21. November 2017 Exceptions Prof. Dr.-Ing. Thomas Schwotzer 21. November 2017 1 Einführung Wir können Algorithmen mittels Java implementieren. Wir können Methoden implementieren. Das ist gut. Was kann bei der Ausführung

Mehr

devin v1.60 Bedienungsanleitung

devin v1.60 Bedienungsanleitung devin v1.60 Bedienungsanleitung Ausgabe 07.11.2017 Inhalt 1 Anwendungsarten... 1 Funktionalität... 2 Konfiguration... 3 devinhid... 6 1 Anwendungsarten Die Android-App devin ermöglicht zusammen mit der

Mehr

Question words revision

Question words revision A. Translate each German word into English. 1. Wer... 2. Wo... 3. Was... 4. Warum... 5. Wann... 6. Wie... 7. Welche/welcher/welchen... 8. Wie viel... 9. Wie viele... 10. Woher... 11. Wohin... 12. Wieso...

Mehr

Name: Klasse: Standardisierte kompetenzorientierte schriftliche Reifeprüfung AHS. 21. September Englisch. Schreiben. öffentliches Dokument

Name: Klasse: Standardisierte kompetenzorientierte schriftliche Reifeprüfung AHS. 21. September Englisch. Schreiben. öffentliches Dokument Name: Klasse: Standardisierte kompetenzorientierte schriftliche Reifeprüfung AHS 21. September 2016 Englisch (B2) Schreiben Hinweise zum Beantworten der Fragen Sehr geehrte Kandidatin, sehr geehrter Kandidat!

Mehr

Die Formelsammlung: Kauffrau / Kaufmann im Groß- und Außenhandel (German Edition)

Die Formelsammlung: Kauffrau / Kaufmann im Groß- und Außenhandel (German Edition) Die Formelsammlung: Kauffrau / Kaufmann im Groß- und Außenhandel (German Edition) Manuel Nothacker Click here if your download doesn"t start automatically Die Formelsammlung: Kauffrau / Kaufmann im Groß-

Mehr

Einschub: HW-Zugriff aus dem Userspace

Einschub: HW-Zugriff aus dem Userspace Einschub: HW-Zugriff aus dem Userspace Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Einschub: HW-Zugriff aus dem

Mehr

DOWNLOAD. Last Minute: At school. Materialien für die schnelle Unterrichtsvorbereitung Englisch 5. Klasse. Downloadauszug aus dem Originaltitel:

DOWNLOAD. Last Minute: At school. Materialien für die schnelle Unterrichtsvorbereitung Englisch 5. Klasse. Downloadauszug aus dem Originaltitel: DOWNLOAD Carina Geck Claudine Stier Last Minute: At school Materialien für die schnelle Unterrichtsvorbereitung Englisch 5. Klasse Carina Geck, Claudine Stier Bergedorfer Kopiervorlagen Downloadauszug

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018 to to May 2018 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

German translation: technology

German translation: technology A. Starter Write the gender and the English translation for each word, using a dictionary if needed. Gender (der/die/das) German English Handy Computer Internet WLAN-Verbindung Nachricht Drucker Medien

Mehr

Praktikum: Paralleles Programmieren für Geowissenschaftler

Praktikum: Paralleles Programmieren für Geowissenschaftler Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Ulrich Körner, Nathanael Hübbe hermann.lenhart@zmaw.de MPI Einführung III: Kommunikation Standard = blockierende

Mehr