17 KiB
Eine Klasse, die einen Socket für
Clients verwaltet. Das Interface ist sehr simpel, wie man an den anderen Programmen hier sehen kann (an denen
ich insgesamt nichtmal eine Woche gearbeitet habe).
Besonders hervorzuheben ist die Möglichkeit, den Socket aktiv zu machen - d.h. dass er
Callback-Funktionen aufrufen kann, sobald Daten eintreffen.
Besonders schön ist dabei, dass man der Callback-Funktion eine andere Funktion vorschalten kann (indem man die Klasse
ableitet und in der abgeleiteten Klasse die Methode
InternalOnRecieve
überschreibt) wodurch man
protokoll-spezifische Nachrichten abfangen kann (wie die PING-PONG Nachrichten im
IRC Netz)
51 KiB
Ein Client für Internet Relay Chat (IRC).
Das ganze ist sauber in eine Klasse gekapselt, wodurch man die Funktionalität sehr einfach in beliebige
Programme einbauen kann. Es ist sehr einfach, über die Interfaces und Callback-Funktionen Nachrichten
zu verschicken und zu empfangen, wie man am sehr kurzen Hauptprogramm sehen kann. Die PINGs werden
übrigens automatisch beantwortet.
Sehr interessant ist die Möglichkeit, das Hauptprogramm über named pipes an die Standard-Ströme eines anderen Programms anzubinden. Zum Beispiel könnte man damit dieses Programm das beliebte MoxQuizz spielen lassen.
Sehr interessant ist die Möglichkeit, das Hauptprogramm über named pipes an die Standard-Ströme eines anderen Programms anzubinden. Zum Beispiel könnte man damit dieses Programm das beliebte MoxQuizz spielen lassen.
60 KiB
Ein Programm, mit dem man E-Mails über SMTP
Server verschicken kann. Das ganze ist auch wieder sauber in eine Klasse gekapselt,
wodurch man die Funktionalität wieder sehr einfach in beliebige Programme einbauen kann. Die Klasse
unterstützt mehrere Empfänger, Blindkopien und Dateianhänge. Zur Authentifizierungs wird derzeit nur das
(unsichere) LOGIN unterstützt.
CRAM-MD5 wäre besser.
4 KiB
Eine Klasse mit der einfache, multithreading-basierte TCP-Server implementiert werden können.
Ein einfacher Beispiel-Chat-Server ist enthalten, der lediglich 51 Zeilen lang ist.
25 KiB
Ein telnet Client. Man beachte wie
wenig code dafür nur nötig ist (7 Zeilen). Telnet ist zwar ein sehr primitives System, die Clients
sind aber durchaus brauchbar um die Schnittstellen von anderen Protokollen kennenzulernen, indem
man sich einfach mit einem Telnet Client zu einem Server verbindet und die Messages schickt, wie sie
in den verschiedenen RFCs
spezifiziert sind. Damit habe ich z. B. mal manuell eine E-Mail verschickt und eine Datei
heruntergeladen. Das ist zwar extrem umständlich, aber wie gesagt lernt man dabei die Protokolle
kennen.