Forum: Netzwerke
Delphi
by Zacherl,
25. Sep 2012
Weiß auch nicht, warum ich bisher immer davon ausgegangen bin, dass das schlechter Stil ist :) Das hilft mir auf jeden Fall sogar noch bei 1-2 weiteren OO Design Problemen im Netzwerkprotokoll weiter. Dann werde ich wohl auch hingehen und sämtliche Sende- und Empfangsmethoden vom Thread in den IOHandler verschieben, wo sie ja auch im Grunde genommen hingehören.
Forum: Netzwerke
Delphi
by Zacherl,
24. Sep 2012
Ahh danke für die Erläuterung, jetzt sehe ich das Problem auch. Habe eben schon ein DeadLock gefixt, da kann ich dir nur zustimmen: Bist man sowas zuverlässig reproduziert und gefunden hat, kann schonmal einige Zeit vergehen.
Den Comparer werde ich mir mal anschauen. Muss zugeben, dass ich mit den Generic Klassen von Delphi bisher kaum gearbeitet habe. Das Comperator Konzept ist mir allerdings...
Forum: Netzwerke
Delphi
by Zacherl,
24. Sep 2012
Irgendwie stehe ich hier auf dem Schlauch :D Ich prüfe doch direkt nach dem WaitForSingleObject auf Terminated. Und in der überschriebenen Terminate Funktion des Threads setze ich erst Terminated und dann löse ich das Event aus. Aber wie auch immer ..
.. dein Ansatz mit der Queue sieht sehr gut aus :) Muss ich mir mal genauer anschauen, ob die TQueue Klasse von Delphi das Verschieben von...
Forum: Netzwerke
Delphi
by Zacherl,
24. Sep 2012
Schonmal vielen Dank für eure Antworten!
Diese Informationen sollten eigentlich alle im Thread sein. Der IOHandler stellt nach außen hin zwar auch eine Liste mit den ein- und ausgehenden Transfers zur Verfügung (FITransferList und FOTransferList), aber die sind eigentlich nur zum Ändern der Reihenfolge durch den Benutzer gedacht (bei ausgehenden Übertragungen). Im Grunde genommen ist der...
Forum: Netzwerke
Delphi
by Zacherl,
24. Sep 2012
Auf die Idee eine verkettete Liste zu verwenden, bin ich gar nicht gekommen. Werde ich direkt umsetzen, danke dir :)
Forum: Netzwerke
Delphi
by Zacherl,
19. Sep 2012
Habe noch bis früh heute morgen am Protokoll gearbeitet und einige Ideen von hier wieder verworfen, geändert oder neue Sachen hinzugefügt. Das Senden und Empfangen ansich funktioniert nun schon überraschend gut. Fehlen nur noch einige Events, das automatische Sammeln der Daten, ein paar Fehlerkorrekturen und ausführliche Tests.
Meine Hauptpakete sind folgende:
type
TdxIDTPPacketType = (...
Forum: Netzwerke
Delphi
by Zacherl,
18. Sep 2012
Hallo BUG, danke für deine Antwort.
Gute Idee :thumb:
Ich bezweifele es, würde aber trotzdem lieber auf Nummer sicher gehen.
Im Prinzip auch eine Gute Idee. Vorbereitete Verbindungen sind immer schwierig, da ich mir nie sicher sein kann wie viele priorisierte Nachrichten unter Umständen gleichzeitig geschickt werden. Das Challenge und Capabilities Ping Pong Prinzip werde ich wohl...