Noch ein Tipp zum Thema C++:

Ich wuerde funktionen wie connect() und close() nicht kapseln. Es macht allerdings eine Menge Sinn, eine Klasse zu schreiben, die read() und write() kapselt, denn man wird aus Performancegruenden wohl nicht fuer jedes byte einen read()/write() Aufruf machen wollen, sondern einen Puffer dazwischenschalten. Diese Klasse kann ausserdem auch das Timeouthandling (exception werfen im Falle eines Timeouts) enthalten.

Wahrscheinlich gibt es schon eine ganze Menge FOSS-Frameworks, die diese Funktion schon anbieten. Ich habe mir es selbstgestrickt....

Gruss

Frank