Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
3. Nov 2016
Der IO-Handler ist im Grunde ein (De-)Multiplexer, mit dem ich mehrere Streams / Pakete über ein einzelnes Socket tunnele. Es soll aber möglich sein Daten gleichzeitig zu senden und zu empfangen. Aus diesem Grund habe ich einen Thread, der nur pollt und einen weiteren Thread, der sich um das gechunkte Versenden der ausgehenden Daten kümmert. Das klassische Request-Response Prinzip kann ich hier...
Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
3. Nov 2016
Das ginge ja in die selbe Richtung wie mein alter HandleData Ansatz. Da aber ja nicht jede Socket Komponente so ein Event besitzt (vor allem nicht mit der selben Parameter-Definition), sollte der Benutzer damals selbst auf ein OnDataAvailable Event reagieren und darin dann HandleData vom IO-Handler aufrufen. Bzw. im Fall von blocking Sockets hat der Benutzer entsprechend nach neuen Daten gepollt...
Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
3. Nov 2016
Okay, dann sind wir uns bezüglich des Constructors ja schonmal einig :thumb: Testen der Klasse ohne Internet ist kein Problem. Dafür kann man das Socket Interface ja als Dummy implementieren.
Dann mal die Frage nach der besten Alternative. Momentan steht zu Auswahl:
AfterConstruction
Init/Start Methode, um Polling zu starten
Oder würdet ihr an meiner Stelle das Polling doch eher dem...
Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
3. Nov 2016
Hallo zusammen,
ich re-designe grade eine Klasse, die eine Netzwerk-Protokoll-Schicht implementiert. Dabei wollte ich beim Klassendesign folgende Aspekte vereinen:
SÄMTLICHE Kommunikation soll über meine IO-Handler Klasse ablaufen (Send Methoden und Receive Events)
Die darunterliegende Socket Implementierung (nur blocking) soll austauschbar sein
Für eingehende Daten hatte der IO-Handler...