Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy 10 Client "Erkennung" (https://www.delphipraxis.net/154054-indy-10-client-erkennung.html)

sabbert 26. Aug 2010 02:07

Indy 10 Client "Erkennung"
 
Hallo zusammen,

Ich habe eine Frage zu den Indy TCP Komponenten.

Undzwar würde ich gerne, dass während ein Client zum Server connectet, der Server diesen z.B. zu einer Objectlist hinzufügt. Z.B. sollen so 10 verschiedene Clients connecten und der Server soll alle 10 in einer Liste führen.

Wie schaffe ich das der Server erkennt wer connectet?
Also wie kann er die Clients auseinander halten?

Wenn Daten gesendet werden, wie kann der Server dann den einzelnen Clients die passenden Daten zuordnern?

Hoffe ihr könnt die Fragen schnell beantworten :D

mfg

mkinzler 26. Aug 2010 06:47

AW: Indy 10 Client "Erkennung"
 
Am ehesten durch deren IP-Adresse

blackfin 26. Aug 2010 09:16

AW: Indy 10 Client "Erkennung"
 
Zitat:

Am ehesten durch deren IP-Adresse
Und wenn aus einer (öffentlichen) IP heraus zwei Clients laufen, weil zwei Rechner vom LAN nach aussen verbidnen? Dann schlägt das fehl :)

Das mizt der Objektliste ist schonmal ein guter Ansatz, so habe ich das bisher auch gemacht, so dass der Server eben eine Client-Liste hat.
Bei erfolgreichem Connect / Authentifizierung gebe ich dem Client eine ID (eventuell eine Client-Instanz-Klasse ableiten, die eine ID-Property hat).
Wenn Daten ankommen / disconnected wird usw, wird das ja auch bei Indy wohl über einen Sender (der Client-Instanz-Klasse) getriggert? Ich benutzte eigentlich meist ICS, deswegen weiss ich das jetzt bei Indy nicht. Wenn aber ja, kannst du die Sender-ID ja dann ermitteln und schon hast du den Client.

littleDave 26. Aug 2010 09:20

AW: Indy 10 Client "Erkennung"
 
Zitat:

Zitat von blackfin (Beitrag 1045146)
Zitat:

Am ehesten durch deren IP-Adresse
Und wenn aus einer (öffentlichen) IP heraus zwei Clients laufen, weil zwei Rechner vom LAN nach aussen verbidnen? Dann schlägt das fehl :)

Dann nimm noch den Port dazu und schon ist es wirklich eindeutig :-).

mleyen 26. Aug 2010 10:11

AW: Indy 10 Client "Erkennung"
 
Du hast doch die TIdIOHandlerSocket-Objekte die du unterscheiden/der Liste hinzufügen kannst.
Und es gibt ja auch die idTcpSrvr.Contexts-Liste, wo schon alle Clients drin sind.

Zitat:

Zitat von sabbert (Beitrag 1045112)
Wie schaffe ich das der Server erkennt wer connectet?

Meinst du das jetzt als Identifizierung einer Person? Dann geht das ja schon in Richtung Authkey.

sabbert 26. Aug 2010 12:25

AW: Indy 10 Client "Erkennung"
 
Also nicht direkt eine Personen Erkennung, sondern das der Server erkennt "dieser Client war schonmal da und ist in meiner Objectlist". Also der Server soll nur die Clients auseinanderhalten können.

Danke für die vielen Antworten werde mich da mal durcharbeiten ;-)

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 Uhr.

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