![]() |
Server und mehrere Clients, Id?
Hi,
wie kann ich bei Indy10 beim Server Clients unterscheiden, die Clients z.B. die gleiche IP-Adresse haben? z.B. Ich starte einmal den Server und zwei mal local den Client. Dann melden sich beide Clients mit 127.0.0.1 an. Beim Server bekomme ich bei Connect ja das TIdContext vom Clienten. Im Server läuft für jeden Client ein eigener Thread um Daten abzuarbeiten. Beim Execute (Server bekommt Data von Client) muss ich dann ja den jeweiligen Client wissen, damit er dann beim Server auf den richtigen Thread zugreift. Geht sicher einfach, aber beim Ersten mal mit Indy ist es halt nicht so einfach. Danke! |
Re: Server und mehrere Clients, Id?
Hi!
Ich kenne mich mit Indy nicht weiter aus, aber vllt. ein allgemeiner Ansatz dazu: Kannst du nicht jedem Client beim ersten Connect eine ID zuweisen, die der sich dann auch irgendwo zu speichern hat und bei jeder Anfrage wieder mitschickt. Dann weißt du immer direkt, "ah, da kommt ne Anfrage von Client xyz" Grüße, Frederic |
Re: Server und mehrere Clients, Id?
Bei TCP/IP-Verbindungen muss man zusätzlich die Portadresse einbeziehen, dann kann man sie voneinander unterscheiden.
Zitat:
127.0.0.1:4791 <-> 127.0.0.1:4824 127.0.0.1:5291 <-> 127.0.0.1:4977 |
Re: Server und mehrere Clients, Id?
Danke!
Sollte dann:
Delphi-Quellcode:
sein!
AContext.Binding.PeerPort;
AContext.Binding.PeerIP; |
Re: Server und mehrere Clients, Id?
Zitat:
Sollte bei den Indys mit "AContext.Binding.Handle" ermittelt werden können. lg. Astat |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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