Kurs: C für Linux/UNIX-Netzwerk-Programmierung

Dauer: 2-3 Tage

Motivation: C ist "die natürliche Programmiersprache" unter Linux (und Unix allgemein), z.B. sind der Linux-Kern und viele der System-Tools in C programmiert. Über C können alle Linux/UNIX-Systemaufrufe, die letztlich die Schnittstelle zwischen Benutzerprogrammen und dem Kern bilden, aufgerufen werden. Gerade für performate Netzwerk-Anwendungen ist eine Programmierung in C und die Benutzung der Systemschnittstellen zur Netzwerk-Programmierung sehr wichtig.

Ziel: Mittels vieler Übungen lernen Sie die Linux/UNIX-Netzwerkprogrammierung über C kennen und sie vor allem portabel und sicher einzusetzen.

Inhalt:

  • Netzwerke und Protokolle
  • Client/Server Architektur
  • Remote Procedure Call (RPC)
  • TCP Sockets
  • UDP Sockets
  • Streams und Transport Layer Interface (TLI)
  • Corba
  • Komplexe Kommunikation
    • Verteilter Server
    • Mehrere Clients
    • Blockierung umgehen
  • Sicherheit
    • Authentifizierung
    • Daten signieren

Schulungsunterlagen:

  • Skript
  • Lösungsblätter zu allen Übungen

Voraussetzungen:

  • Muss: Allgemeine Computer-Kenntnisse (Tastatur, Maus, Grafische Oberfläche, Editor)
  • Muss: Kenntnis einer beliebigen Programmiersprache
  • Muss: Kurs "C-Einführung"
  • Muss: Kurs "Linux/UNIX-Grundlagen"

Abgrenzung:

  • Objektorientierte Programmierung wird nicht behandelt