Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Netzwerk - Programmierung
Vorbesprechung, Administrativa, Einführung Alexander Sczyrba Madis Rumming
2
Kommunikation in Netzwerken
einige typische Anwendungen: ssh Thunderbird, Outlook Ftp Mozilla Firefox, Safari, Opera, Chrome finger, whois, talk, . . . Client-Server-Modell Gegenstücke: sshd, ftpd, httpd, . . .
3
Wann ? Wo ? Wer ? Di, Uhr, c.t. Grundstudiumszentrum Informatik (GZI), V2-222 Praktikum Aktive Teilnahme, 1.5 LP, Modul Netzwerkprogrammierung Vorkenntnisse in Perl (Skriptsprachen!)
4
Was ? Interprozeß-Kommunikation Programmierung mit sockets „Perl“ statt „C“ (fast) identisches Interface zu Netzwerk-Funktionen leichter zu erlernen weniger Code Konzentration auf’s Wesentliche
5
Literatur UNIX Network Programming, Volume 1, Second Edition W. Richard Stevens Internetworking with TCP/IP, Volume 3 D.E. Comer, D.L. Stevens Network Programming with Perl Lincoln D. Stein Advanced Programming In The UNIX Environment W. Richard Stevens TCP/IP Illustrated W. Richard Stevens
6
Fahrplan IPC – interprocess communication (pipes, signals) Netzwerk-Protokolle (TCP/IP) Client-Server-Design, sockets-API Client-Design/Programming Server-Design/Programming . . . Abschluß-Projekt
7
Perl (an der Techfak) Perl > 5.8.0 überprüfen mit perl -v Perlskripte: #!/usr/bin/env perl print "hello world\n"; execute-Bit setzen
8
einfache Aufgabe Kehre jede Zeile wortweise um:
Selbsttest Perl Schreibe ein Perl-Skript, das eine Text-Datei zeilenweise einliest und das Ergebnis in eine zweite Datei ausgibt. Die Namen der beiden Dateien sollen als Kommandozeilen-Parameter übergeben werden. einfache Aufgabe Kehre jede Zeile wortweise um: Eingabe: The quick brown fox Ausgabe: fox brown quick The fortgeschrittene Aufgabe Vereinheitliche Groß-/Kleinschreibung: Eingabe: jumped oVER THE Lazy DoGs Ausgabe: Jumped Over The Lazy Dogs #!/usr/bin/env perl -w use strict; my $in = my $out = open(IN, "$in") || die "$in not readable: $!\n"; open(OUT, "> $out")|| die "$out not writeable: $!\n"; while (my $line = <IN>) { print OUT turn($line); } close(OUT); close(IN); sub turn { my ($line) chomp($line); = split(/\b/, $line); return(join(’’, sub convcase1 { = split(/\b/, $line); = (); foreach my $word { = split(//, $word); $letters[0] =˜ tr/a-z/A-Z/; foreach my $pos (1..$#letters) { $letters[$pos] =˜ tr/A-Z/a-z/; sub convcase2 { my ($junk,$head,$tail) = ($word =˜ /(\W*)(\w?)(.*)/); $junk.uc($head).lc($tail)); # noch besser: ucfirst(lc($word))
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.