Kapitel 11 Netzwerkprogrammierung
Kenntnisse zur Netzwerkprogrammierung gehören heutzutage zu den Grundlagen eines ambitionierten Software-Entwicklers. Dank guter Bibliotheken ist es kein allzu kompliziertes Unterfangen mehr, Ihre Software mit einer Netzwerkfunktionalität auszustatten.
11.1 Einführung
 
Die Netzwerkprogrammierung ist ein sehr beliebtes, aber leider noch relativ selten anzutreffendes Thema in der Computerliteratur zu Linux. Dies liegt allerdings auch daran, dass alleine die Implementierung der Netzwerkfunktionalität in den Kernel zu dem komplexeren und vor allem umfangreichsten Teil gehört. Es fällt einem schwer, einen Einstieg in dieses umfangreiche Thema zu finden. Somit kann ein Buch, wie Sie es in den Händen halten, bezüglich der Themenvielfalt nicht mehr als eine Einführung und ein Überblick zur Netzwerkprogrammierung sein – aber vielleicht wollen Sie ja gerade dies bekommen.
Sicherlich haben Sie selbst schon Anwendungen wie telnet zum Einloggen auf einem anderen Computer, ftp zum Übertragen von Daten aller Arten zwischen zwei Rechnern, E-Mail-Programme zum Empfangen und Versenden von Mails oder den Webbrowser zum Durchforsten des World Wide Webs verwendet. Vermutlich reizt es Sie nun selbst, ähnliche Anwendungen zu entwickeln.
Linux/UNIX bietet Ihnen dazu eine Menge Programm- und Funktionsbibliotheken an, womit Sie selbst verteilte Anwendungen mit Netzwerkfunktionalität schreiben können. Somit könnten Sie praktisch eine Anwendung, die bisher nur für einen Standort verfügbar war, umschreiben, damit diese nun von mehreren Rechnern aus ausgeführt werden kann. Wollen Sie z. B. ein Spiel mit einer Multiplayer-Funktion ausstatten oder Ihre Kaffeemaschine zu Hause vom Büro aus starten? Egal was Sie vorhaben, mit der Netzwerkprogrammierung haben Sie ungeahnt viele interessante Möglichkeiten, und vor allem lernen Sie hierbei ein garantiert zukunftsorientiertes Know-how.
Hinweis Der Großteil der Beispiele wurde auf einem Linux- und einem (Free)BSD-Rechner erstellt und erfolgreich getestet. Gewöhnlich sollten diese Beispiele auch auf anderen UNIX-artigen Rechnern funktionieren. Dennoch ist es nicht auszuschließen, dass hier und da eine kleine Modifikation nötig ist. Sofern dies zutrifft, würde ich mich über eine Nachricht von Ihnen sehr freuen.
|
|