Unix-Netzwerkprogrammierung mit Threads, Sockets und SSL [electronic resource] /
Zahn, Markus.author.
Vernetzte Rechnersysteme und insbesondere das weltumspannende Internet haben unsere Welt verändert. Die Anziehungskraft derartiger Rechnernetze steht und fällt mit der Leistungsfähigkeit und Zuverlässigkeit der darüber verfügbaren Anwendungen. Ohne Online-Enzyklopädien, Online-Shopping, File-Sharing und vieles mehr wäre das Internet wohl nach wie vor nur für Wissenschaftler und Computerexperten von Interesse. Bei der Entwicklung netzwerkfähiger Anwendungen sind neben der Kenntnis der Netzwerk-APIs auch fundierte Einsichten in die Systemprogrammierung unabdingbar. Aufbauend auf einer kompakten Einführung in die Unix-Systemprogrammierung erläutert der Autor anhand zahlreicher praktischer Beispiele die Programmierung nebenläufiger Abläufe mittels Unix-Prozessen und POSIX-Threads. Die Grundlagen der Netzwerkprogrammierung mit TCP/IP und der Sockets-API werden durch fünf einschlägige Implementierungsmuster für typische Server-Programme vertieft. Das Themenspektrum der Netzwerkprogrammierung wird durch die ausführliche Darstellung der Absicherung des Datenaustauschs mittels SSL/TLS am Beispiel von OpenSSL abgerundet.
Description based upon print version of record.
Programmieren mit UNIX-Prozessen -- Ein- und Ausgabe (Filedeskription, Sockets) unter UNIX -- Parallelität mit Prozessen -- Das UNIX-Prozessmodell -- Parallele Prozesse mit fork() und exec() -- Daemon-Prozesse und inetd -- Beliebte Fallstricke -- Programmieren mit Threads -- Multithreading vs. Multiprocessing -- Parallelität mit Threads -- Thread Lifetime -- Synchronisation (gegenseitiger Ausschluss, Bedingungsvariablen, Signale, Broadcasts) -- Einsatzarten für Threads (Pipeline, Workcrew, Master/Slave) und beliebte Stolpersteine -- Programmieren mit Sockets -- TCP/IP-Protokoll: Aufbau und Abbau (Drei-Wege-Handshake) -- Was sind Sockets?- Wichtige Adress-, Socketstrukturen und -funktionen -- Wichtige Socketoptionen -- Programmierung von Clients -- Programmierung von Servern -- Parallelität mit Sockets -- TCP vs. UDP -- IPv4 vs. IPv6 -- Netzwerkprogrammnutzung mit SSL/TLS.
Vernetzte Rechnersysteme und insbesondere das weltumspannende Internet haben unsere Welt verändert. Die Anziehungskraft derartiger Rechnernetze steht und fällt mit der Leistungsfähigkeit und Zuverlässigkeit der darüber verfügbaren Anwendungen. Ohne Online-Enzyklopädien, Online-Shopping, File-Sharing und vieles mehr wäre das Internet wohl nach wie vor nur für Wissenschaftler und Computerexperten von Interesse. Bei der Entwicklung netzwerkfähiger Anwendungen sind neben der Kenntnis der Netzwerk-APIs auch fundierte Einsichten in die Systemprogrammierung unabdingbar. Aufbauend auf einer kompakten Einführung in die Unix-Systemprogrammierung erläutert der Autor anhand zahlreicher praktischer Beispiele die Programmierung nebenläufiger Abläufe mittels Unix-Prozessen und POSIX-Threads. Die Grundlagen der Netzwerkprogrammierung mit TCP/IP und der Sockets-API werden durch fünf einschlägige Implementierungsmuster für typische Server-Programme vertieft. Das Themenspektrum der Netzwerkprogrammierung wird durch die ausführliche Darstellung der Absicherung des Datenaustauschs mittels SSL/TLS am Beispiel von OpenSSL abgerundet.
Software engineering.
Software Engineering/Programming and Operating Systems.

X.systems.press