AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Konzept: Netzwerkprotokoll
Thema durchsuchen
Ansicht
Themen-Optionen

Konzept: Netzwerkprotokoll

Offene Frage von "BUG"
Ein Thema von Zacherl · begonnen am 18. Sep 2012 · letzter Beitrag vom 25. Sep 2012
 
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#13

AW: Konzept: Netzwerkprotokoll

  Alt 24. Sep 2012, 16:18
Schonmal vielen Dank für eure Antworten!

Der IOHandler hat alle Informationen, wie was wo gesendet werden soll, allerdings nicht direkt wann, das kommt ja im Thread.
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 IOHandler nur ein Wrapper für den IOThread, weil ich nicht wollte, dass man von außen auf die threadspezifischen Methoden wie z.b. Suspend oder Terminate zugreifen kann. Du hast allerdings Recht, dass meine Logik da inkonsistent ist. Ich müsste die besagten Listen entweder auch in die Thread Klasse verschieben oder wirklich alles aus dem Thread in die IOHandler Klasse.

Allerdings würde ich den IOHandler nicht an den Thread hängen, sondern den Thread an den IOHandler. Dann gibt es auch kein Gerangel wer den Thread beenden kann (wird ja auch über das FWaitEvent gesteuert).
Es könnte passieren, dass trotz Terminate der Thread nicht aufhört, weil direkt nach dem Terminate der Thread selber das FWaitEvent zurücksetzt
Der Thread wird vom IOHandler erzeugt und freigegeben. Die Terminate Methode des Threads habe ich so überschrieben, dass dort zusätzlich das FWaitEvent gesetzt wird. Also die Terminierung des Threads sollte soweit funktionieren (hat sie auch in meinen Tests ). Die Instanz des IOHandlers übergebe ich dem Thread momentan noch, damit er auf die FOTransferList im IOHandler zugreifen kann.

Wer sich die aktuelle Implementierung mal als Ganzes anschauen möchte:
http://www.delphipraxis.net/170565-n...-new-post.html
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz