Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TServerSocket, TClientSocket und Indy (https://www.delphipraxis.net/61998-tserversocket-tclientsocket-und-indy.html)

retnyg 1. Feb 2006 18:03

Re: TServerSocket, TClientSocket und Indy
 
Zitat:

Zitat von ACE-ppc
könntest du mir das mal näher erlären ... ich habe keine Probleme mit den indys ... gibt es denn kostenlose alternativen ?

die indys sind erstens in den versch. versionen untereinander nicht kompatibel, und 2. lösen sie bei jedem fehler eine exception aus, was das debuggen sehr erschwert. ausserdem sind sie meiner erfahrung nach nicht wirklich threadsafe.

Alternativen: Synapse, ICS

DataCool 3. Feb 2006 11:07

Re: TServerSocket, TClientSocket und Indy
 
Hi,

also ich muss jetzt mal die Indys in Schutz nehmen und
mich gleichzeitig an dieser Stelle für die grossartige Arbeit
des Indy-Teams bedanken !!!!!!

Ich habe schon diverse Projekte mit den Indys realisiert und
alle laufen super und einwandfrei.
Insbesondere mit den IdTcpClient und IdTcpServer habe ich sehr viel gemacht
und noch nie Probleme gehabt.

Ok, man muss dazu sagen, das ich unter Delphi 6 die Indy Version 9 verwende.
Die 10er mögen vielleicht an einigen Stellen noch etwas buggy seien, dazu kann
ich nichts sagen, hatte bis jetzt noch keine Zeit bestehende Projekte zu portieren.

Zu den Exceptions:
Eine Exception ist nicht zwingend ein Fehler !!!
Sondern ein Hinweis/Meldung !!!!

Und für den Falle des Falles das man manche Exception beim debuggen gar nicht sehen möchte,
kann man sich diese unter "Tools/Debugger-Optionen/Sprachexceptions" hinzufügen und bekommt Sie dann nicht mehr angezeigt.

Thread-Safe:
Die Indys sind THREADSAFE !!! Gerade der Server kapselt jede Client Connection in einem eigenen Thread !
Den Client-Komponenten sollte man am besten auch in eigene Threads packen, da bekommt man auch null Probleme mit den Blocking Sockets die Indys verwendet.

So wenn jetzt noch jemand Fragen hat, nur her damit *lol*
Ich kann allerdings nur mit Bsps. und Erklärungen zu den Indy 9er dienen.

Gruß Data

retnyg 3. Feb 2006 11:26

Re: TServerSocket, TClientSocket und Indy
 
ich hab mal mit idhttp nen downloadmanager mit 16 paralellen threads gebastelt.
nach spätestens 15 min ist das teil dann abgestürzt, weil die dauernden exceptions, die, wie du richtig sagst, nicht nur bei fehlern, sondern auch bei hinweisen verwendet werden, den stack durcheinandergewürfelt haben.

vielleicht wäre es doch gegangen wenn ich für jede mögliche exception ne eigene handlerroutine geschrieben hätte, aber dafür ist mir meine zeit zu schade. aber wie gesagt, sind alles rein subjektive impressionen.

DataCool 3. Feb 2006 12:06

Re: TServerSocket, TClientSocket und Indy
 
@retnyg:

Ich hoffe dann hasst Du zu jedem Thread ein eigenes IdHttp-Objekt erzeugt ?!

Gruß Data

retnyg 3. Feb 2006 15:57

Re: TServerSocket, TClientSocket und Indy
 
logo

SoGraDEs 6. Jun 2006 13:33

Re: TServerSocket, TClientSocket und Indy
 
Hi,
DataCool hat offensichtlich mehr Kenne von den Indys, als das bei mir und vielen anderen der Fall ist.
Ich habe bisher auch mit DELPHI 5 und den TServerSocked/TCliendSocked zur Datenübertragung (kleine Datenmengen) zwischen zwei Programmen gearbeitet.
Jetzt versuche ich mich mit 2006.
Mich würde die Umstellung auf IdTcpClient bzw. Server schon aus Neugierde interessieren.
Mir fehlen leider die Kenntnisse um die Indys anwenden zu können, deshalb wäre ich sehr dankbar für ein Beispiel, an dem ich mich in das Thema Indys reinwühlen kann.
Vielleicht kann mal einer ein Beispiel geben. Wäre schön.
Ob man nicht mehr mit TServerSocked/TCliendSocked arbeiten soll oder nicht, ist scheinbar auch noch strittig.
Viele Grüße SoGraDes

shmia 6. Jun 2006 14:09

Re: TServerSocket, TClientSocket und Indy
 
Zitat:

Zitat von reepo2k
Aber warum wird abgeraten TServerSocked tund TClientSocket zu verwenden?

Also ich habe mir die Unit ScktComp vor einiger Zeit zur Brust genommen und gleich einen gravierenden Mangel festgestellt:
Es wird nur TCP unterstützt. UDP und andere Protokolle bleiben aussen vor.

Für mich ein Grund diese Unit überhaupt nicht in Betracht zu ziehen obwohl mir das schlanke Design
am Anfang gut gefallen hat. (Mit einigen Änderungen im Sourcecode wären auch andere Protokolle möglich; keine Ahnung weshalb Borland das nicht schon getan hat)

SoGraDEs 6. Jun 2006 16:20

Re: TServerSocket, TClientSocket und Indy
 
Warum ist es ein gravierender Mangel, wenn nur TCP unterstützt wird ?
Wenn man nur einige Byte zwischen zwei Rechnern im Netzwerk austauschen will, so wie das bei mir der Fall ist, dann brauche ich keine Variation von Protokollen, dann brauche ich nur einen sauber funktionierenden Source.
Also ist doch die Frage :
Ist ScktComp eine fehlerfreie UNIT ?
Wird ScktComp auch noch von den nächsten DELPHI Versionen verwendet/unterstützt ?

Gibt auf diese Fragen eine Antwort ?
SoGraDes

shmia 6. Jun 2006 16:37

Re: TServerSocket, TClientSocket und Indy
 
Zitat:

Zitat von SoGraDEs
Warum ist es ein gravierender Mangel, wenn nur TCP unterstützt wird ?

Weil ein Netzwerk nur zu ~ 80% aus TCP besteht; es fehlen halt 20%.
Zitat:

Zitat von SoGraDEs
Ist ScktComp eine fehlerfreie UNIT ?

Ja.
Zitat:

Zitat von SoGraDEs
Wird ScktComp auch noch von den nächsten DELPHI Versionen verwendet/unterstützt ?

Das weiss nur Borland. Wenn du auf die .NET Schiene aufspringen möchtest/musst, gibt's im .NET Framework sicher bessere Klassen.

SoGraDEs 6. Jun 2006 20:18

Re: TServerSocket, TClientSocket und Indy
 
Shmia, danke für die klaren Aussagen.

Zitat:

Zitat von DataCool
Ich habe schon diverse Projekte mit den Indys realisiert und
alle laufen super und einwandfrei.
Insbesondere mit den IdTcpClient und IdTcpServer habe ich sehr viel gemacht
und noch nie Probleme gehabt.

Ich hoffe noch, dass DataCool oder ein anderer Wissender mal ein Beispiel mit INDY
geben kann, damit wir restlichen Unwissenden mal eine kleine Einstiegshilfe in die INDY-Lib bekommen.
Vielen Dank im Voraus
SoGraDes


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr.
Seite 2 von 3     12 3      

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