Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Generelle Frage zu den Indy-Komponenten (https://www.delphipraxis.net/174863-generelle-frage-zu-den-indy-komponenten.html)

mjustin 15. Mai 2013 13:47

AW: Generelle Frage zu den Indy-Komponenten
 
Zitat:

Zitat von sh17 (Beitrag 1215427)
nein, er meint, da IdTelnet von TCP erbt, könnte man den Kanal von Telnet nicht einfach mal gegen einen anderen austauschen (Telnet z.B. über Names Pipes). Würde in dem Beispiel zwar keinen Sinn machen, theoretisch schon.

Dann verstehe ich das Beispieldiagramm nicht - der Multiplexer scheint beide Protokolle in einen einzigen Stream zu verbinden.

sx2008 15. Mai 2013 13:48

AW: Generelle Frage zu den Indy-Komponenten
 
Zitat:

Zitat von mjustin (Beitrag 1215425)
Zitat:

Zitat von sx2008 (Beitrag 1215423)
In dem Beispiel werden 2 Protokolle verschlüsselt über eine einzige TCP-Verbindung geführt.

Wozu soll das gut sein? Welcher Mailserver kann zwischen den Mails, die er empfängt, auch noch Telnet Sitzungen bedienen (auf dem gleichen Socket)?

Das war nur ein Beispiel der Möglichkeiten.
Auf der Serverseite müsste natürlich ein IdDemultiplexer eingesetzt werden.
Auf jeden Fall kann man mit diesem Konzept Datenströme verschlüsseln, komprimieren, zusammenfassen, tuneln, priorisieren,...
Zitat:

Zitat von sh17 (Beitrag 1215424)
@sx2008 da hast Du Recht, das ist der Schwachpunkt im der Design der Indys - welche Alternative macht es richtig?

Mir ist keine bekannt. Ich glaube alle anderen Komponentensammlungen haben das gleiche Problem.

Morphie 15. Mai 2013 15:19

AW: Generelle Frage zu den Indy-Komponenten
 
Ich halte das nicht für ein Designfehler.
Ein Protokoll der ISO-Schichten 5-7 ist doch normalerweise genau definiert.

HTTP läuft z.B. normalerweise über TCP, standardmäßig auf Port 80. Also ist es ein Nachfahre von TCP.
TFTP läuft normalerweise über UDP und hört auf Port 69. Ist also ein Nachfahre von UDP.

Wenn man Indy so aufbauen würde, dass man alle möglichen Protokolle aus dem unteren ISO-Modell und die Verschlüsselungen mischen / tauschen würde, wäre die Definition der einzelnen Protokolle doch irgendwie sinnlos...

Ich finde die Klassenhierarchie eigentlich ganz anständig so.

sx2008 15. Mai 2013 16:24

AW: Generelle Frage zu den Indy-Komponenten
 
Zitat:

Zitat von Morphie (Beitrag 1215436)
HTTP läuft z.B. normalerweise über TCP, standardmäßig auf Port 80. Also ist es ein Nachfahre von TCP.
TFTP läuft normalerweise über UDP und hört auf Port 69. Ist also ein Nachfahre von UDP.

HTTP ist etwas völlig Anderes als TCP.
HTTP benützt TCP als Transportmedium, aber es ist nicht eine Art von TCP.
Vererbung wurde hier falsch angewendet.
Das Gleiche gilt auch für TFTP und UDP.
Jeder Programmierer kennt bestimmt das OSI 7-Schichten Modell.
Zwischen diesen Schichten existiert keine Vererbung sondern jede Schicht benützt die vorherige Schicht als Grundlage.
Das Wort "benützen" ist hier entscheidend, denn es ist der Hinweis, dass hier keine Vererbung vorliegt.
TCP benützt das Internet Protokoll (IP). IP benützt Ethernet.
IP kann aber auch aber auch auf ISO 802.11 (WLAN) aufsetzen.

Tiger und Löwe sind spezialisierte Arten der allgemeineren Klasse "Raubkatze".
Delphi-Quellcode:
TRaubkatze = class;
TTiger = class(tRaubkatze)
TLoewe = class(TRaubkatze)
Ein Löwe "ist" eine Raubkatze; es liegt hier also eine richtige Vererbung vor.
Diese Beziehung gibt es bei HTTP ind TCP nicht.

TiGü 16. Mai 2013 10:10

AW: Generelle Frage zu den Indy-Komponenten
 
Zitat:

Zitat von sx2008 (Beitrag 1215442)
HTTP ist etwas völlig Anderes als TCP.
HTTP benützt TCP als Transportmedium, aber es ist nicht eine Art von TCP.
Vererbung wurde hier falsch angewendet.

Anstatt Vererbung wäre also eine Komposition eher angebracht?!

Zitat:

Zitat von sx2008 (Beitrag 1215442)
Zwischen diesen Schichten existiert keine Vererbung sondern jede Schicht benützt die vorherige Schicht als Grundlage.
Das Wort "benützen" ist hier entscheidend, denn es ist der Hinweis, dass hier keine Vererbung vorliegt.
TCP benützt das Internet Protokoll (IP). IP benützt Ethernet.

"Benützt" wurde hier falsch angewendet.

Abgesehen davon, dass es für alle deutsch Sprechenden nördlich von Heidelberg etwas schräg aussieht, meint "benützt" in den südlichen Dialekten eher antiquarisch, aus zweiter Hand, gebraucht, getragen oder secondhand.
Richtig wäre hier das Wort benutzt oder verwendet!

bernhard_LA 16. Mai 2013 10:10

AW: Generelle Frage zu den Indy-Komponenten
 
mit Demos zum Thema INDY und TCP Client Server kann ich helfen :

http://sourceforge.net/projects/indy10clieservr/


auch der E Mail client funktioniert ohne Probleme

http://sourceforge.net/projects/simpleemail/

( musss den aktuellen Source noch hochladen :roll: )


Die Doku zu INDY finde ich eher mau ... die Komponenten spielen aber bei mir ohne Probleme

sh17 16. Mai 2013 12:08

AW: Generelle Frage zu den Indy-Komponenten
 
Zitat:

Zitat von bernhard_LA (Beitrag 1215503)
( musss den aktuellen Source noch hochladen :roll: )

Ja, bitte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz