Moin!
Coder hat folgendes geschrieben: |
Der Chat dort arbeitet mit den TSockets. Darum hab ich ihn zu den Indys umgeschrieben, weil die ja besser sein sollen. |
Zunächstmal: ich habe noch keinen Chat gesehen, der auf die Indies
angewiesen wesen wäre...

Mir scheint auch eher, du hörst da lieber auf andere Meinungen ("sollen besser sein"), anstatt dir eigene Erfahrungen zu verschaffen. Hast du denn schon "schlechte Erfahrungen" mit den Sockets gemacht? Oder läuft immer alles gut mit den Indies?
Meine eigenen Erfahrungen: die Sockets haben ihre Ecken und Kanten, sind aber wenigstens in allen Delphi-Versionen gleich; gerade für Anfänger sind die Sockets ausgezeichnet geeignet, weil nur die wirklich nötigen Funktionen enthalten sind. Was Performance angeht hat nur der TServerSocket einen (kleinen) Nachteil gegenüber dem IdTcpServer, weil die Ereignisse (standardmäßig; es geht auch anders) über den Hauptthread synchronisiert werden, was aber in keiner mir bekannten Anwendung jemals zu einem entscheidenden Nadelöhr geworden wäre. Bei den Indies gibt es dagegen große Versionsprobleme und Anfängerschwierigkeiten, weil die Mächtigkeit der Funktionen mehr verwirrt, als nützt. Dazu kommt dann noch das Multithreading, was gerade zusammen mit der VCL (die ja nicht thread-save ist!) häufig einem Anfänger das Genick bricht.
Mein Fazit deshalb: probier´s doch einfach selbst aus und mach dir ein eigenes Bild davon. Dann kannst du auch angemessen reagieren.
Coder hat folgendes geschrieben: |
Doch jetzt ist mir der CommandHandler der Indys aufgefallen.
Scheinbar wird mit ihm das Protokoll überflüssig. |
Vorsicht Falle, bitte nicht zwei Begriffe durcheinander bringen: Ein Protokoll ist eine Art und Weise, wie man Kommunikation abwickelt bzw. steuert. Das hat zunächst mal nix mit dem Code zu tun, der benutzt wird, um die Daten zu verarbeiten, denn der CommandHandler der Indies ist nur eine Abbildung von bei Protokollen benötigten Funktionalitäten,
aber nicht das Protokoll selbst!
Du wirst bei deinem Chat nicht ohne ein Protokoll auskommen, wenn du mehr als nur den reinen Text versenden willst (zumindest soviel sollte dir mein Tutorial hoffentlich vermittelt haben).
Ob du dann meinen Vorschlag für einen Protokoll-Parser/Prozessor oder den CommandHandler der Indies nimmst, das ist "Geschmacksache" bzw. hängt davon ab, was du tun willst.
Coder hat folgendes geschrieben: |
Jetzt steh ich vor der Frage was besser ist.
Das eigene Protokoll oder der Indy CommandHandler? |
Dir sollte jetzt klar sein, dass die Frage nicht korrekt gestellt ist, weil du ohne das Protokoll nicht auskommen wirst. Womit du das Protokoll umsetzt (also welche Funktionen die Daten verarbeiten), dass ist prinzipiell egal.
Nimm das, womit du besser klar kommst, würde ich sagen.
cu
Narses
PS: Hmm...

ist mein Tut wirklich so undurchsichtig (gross) geworden, dass dieser Sachverhalt "was ist ein Protokoll" nicht klar genug rüber kommt...
PPS: Hab mal über den CommandHandler der Indies geschaut: sieht so aus, als sei das Ding für kommandozeilenorientierte Kommunikation/Protokolle ausgelegt. Wird also nur begrenzt geeignet sein, wenn man nicht entsprechend viel Aufwand treiben will, um z.B. Binärdaten zu transportieren.

There are 10 types of people - those who understand binary and those who don´t.