Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Sender-Client identifizieren? (https://www.delphipraxis.net/28742-sender-client-identifizieren.html)

knödel 29. Aug 2004 16:23


Sender-Client identifizieren?
 
Ich habe mir mit TServerSocket und TClientSocket einen Server sowie einen Client gebastelt.
Jetzt sind z.B. 3 Clients verbunden.

Deren Texte empfange ich über diese Funktion/Prozedur (SERVER):
Code:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
...
end;
und mithilfe von ServerSocket1.Socket.ReceiveText.


(Mit ActiveConnections bekomme ich die Anzahl der Clients, mit Connections[ZAHL].SendText kann ich an beliebige Clients senden.)


Mein Problem ist, wie kann ich herausfinden, von welcher Connection-Nummer bzw. welchem Client die Nachricht kam? Hab' praktisch den ganzen Socket-Baum durchprobiert, aber vermutlich falsch oder ich muss das anders lösen? :gruebel:

Kann jemand helfen?

SirThornberry 29. Aug 2004 16:27

Re: Sender-Client identifizieren?
 
anhand der ThreadID sollte man das aueinander halten können, so hab ichs immer gemacht.

knödel 29. Aug 2004 16:38

Re: Sender-Client identifizieren?
 
Zitat:

Zitat von SirThornberry
anhand der ThreadID sollte man das aueinander halten können, so hab ichs immer gemacht.

Habe in der Hilfe nur folgendes gefunden:
Code:
Mit ThreadID können Sie während des Debuggens den Thread im Statusfenster Threads identifizieren. Verwenden Sie ThreadID
 unter Windows auch zum Aufrufen der Win32-API-Funktionen zur Thread-Bearbeitung.
Ist wohl nicht das, welches Du meinst?
Kannst Du mir deinen Vorschlag deatailierter erklären? :gruebel:

Evtl. mit Codeschnippseln? :angel2:

Muetze1 29. Aug 2004 20:12

Re: Sender-Client identifizieren?
 
Moin!

Beim ClientRead wird dir eine Socket übergeben - dieser ist eindeutig für jede Connection. Diese Instanz findest du genauso auch wieder in dem Connections[] Array wieder beim ServerSocket...

MfG
Muetze1


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