![]() |
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:
und mithilfe von ServerSocket1.Socket.ReceiveText.
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
... end; (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? |
Re: Sender-Client identifizieren?
anhand der ThreadID sollte man das aueinander halten können, so hab ichs immer gemacht.
|
Re: Sender-Client identifizieren?
Zitat:
Code:
Ist wohl nicht das, welches Du meinst?
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. Kannst Du mir deinen Vorschlag deatailierter erklären? :gruebel: Evtl. mit Codeschnippseln? :angel2: |
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