Socket Server/Client zur Bildübertragung mit C unter Linux/Unix-OS
30. Januar 2009 – 17:38Jüngst habe ich einen kleinen, leichtgewichtigen Server und Client zur Bildübertragung geschrieben. Das ganze ist Socketbasierend(TCP) und sollte auf allen Linux/Unix-Distributionen kompilier- und lauffähig sein.
Bestandteil der Arbeit ist weiterhin ein Kommunikationsprotokoll, welches den Ablauf der Übertragung regelt bzw. beschreibt. So wird in diesem Dokument unter anderem geklärt, wie die zu übertragenden Metadaten auszusehen haben oder wie mit eventuell auftretenten Fehlern umzugehen ist. Das sichert eine stabile und fehlerfreie Bildübertragung ab.
Die Umsetzung war nicht immer ganz einfach und es gab einige Tücken zu überwinden. Gerade die im Protokoll beschrieben Timeouts machten mir anfangs Sorgen und es dauerte bis ich eine entsprechende Lösung gefunden bzw. auch richtig umgesetzt hatte. Es gab zwar hier und da auch noch ein paar andere Probleme, welche aber meist auf die eingerosteten C-Kenntnisse und deren Kniffe meinerseits zurückzuführen waren. Auch egal nun bin ich ja fertig, es läuft alles perfekt und man ist wieder eine Erfahrung reicher geworden 🙂
Hier nun der Source, das Kommunikationsprotokoll und direkt auch das MonoDevelop-Projekt:
C-Socket Server/Client zur Bildübertragung (.rar, 250KB)
Interessante/Weiterführende Links zum Thema
Client-Server Socketprogrammierung
Tipps zur Socketprogrammierung
Helmut Herold – Linux/Unix-Systemprogrammierung
Wie immer keine Garantie auf Richtigkeit der Vollständigkeit!