Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Empfangene Daten unterscheiden (https://www.delphipraxis.net/120855-empfangene-daten-unterscheiden.html)

Dr4ke 17. Sep 2008 23:30


Empfangene Daten unterscheiden
 
Hey Leute!
Ich wurde hier etwas inspiriert und hatte spontan auch mal Lust einen Chat zu schreiben. Habs mit der standartmäßigen TCP/IP Verbindung probiert, soweit alles ok. Vorhin mit 4 Leuten gleichzeitig getestet, funktioniert.

Doch jetzt wollte ich noch eine Userlist hinzufügen. Da dachte ich mir ich mach das folgendermaßen: Der Client soll wenn jemand sich verbindet den Nick an den Server senden und diesen in die Liste schreiben. Der Server wiederrum soll dann die Liste (z.B. als String) an alle Clients schicken. Doch der Server reagiert ja schon wenn man eine Nachricht abschickt, wie also unterscheidet der Server was er gekriegt hat und anschließend tun soll?

mkinzler 18. Sep 2008 05:36

Re: Empfangene Daten unterscheiden
 
Implementiere ein Protokoll.

toms 18. Sep 2008 07:19

Re: Empfangene Daten unterscheiden
 
Hallo

Einige gute Tutorials zu diesem Thema hat Narses vom Delphi-Forum erstellt.

Probleme beim Senden/Empfangen von records (+ dyn. Objekten)
(Fazit: records sind kein brauchbarer Ersatz für ein Protokoll.)

Minimaler LAN/Internet-Chat mit TServer-/TClientSocket

Terminatorzeichen-Protokoll-Tutorial / 1 (Sockets) v4.00

SirThornberry 18. Sep 2008 07:36

Re: Empfangene Daten unterscheiden
 
Die Lösung ist denkbar einfach. Wie weißt du als Mensch ob es sich um eine Userlist handelt oder nicht während du uns das berichtest?
Zitat:

Der Client soll wenn jemand sich verbindet den Nick an den Server senden
Du verwendest hier schon wurde wie Nick etc. Du sagst also schon "es handelt sich um einen Nick". Genau das gleich musst du auch beim versenden machen. Du musst dazu immer sagen was es ist.

Mach es also einfach wie beim erzählen auch - vorher sagen um was es sich handelt:
Neuer Nickname: .....
eine Nachricht für XY: .....
eine neue Userlist: .....


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 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