![]() |
Client ausfindig machen
Hallo. Ich hätte da eine Frage zu den Sockets.
Und zwar habe ich einen server und mehrere Clienten verbinden. Die Clienten senden Text. Nun möchte ich herausfinden von welchem der Text kam. Ungefähr so.
Delphi-Quellcode:
Was muss ich für das ? einsetzen??
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket); begin ShowMessage('Nachricht von Client Nr.' + IntToStr(?) + ' empfangen'); end; Danke schonmal. |
Re: Client ausfindig machen
Zitat:
Delphi-Quellcode:
Möglich wäre auch die Adresse/Hostname
Socket.SocketHandle
Delphi-Quellcode:
Ich hoffe du kannst damit was anfangen.
Socket.RemoteAddress
Socket.RemoteHost |
Re: Client ausfindig machen
Nein.
Wenn 2 Clienten verbunden sind muss die zahl für das ? entweder 0 oder 1 sein. |
Re: Client ausfindig machen
Erstelle eine Liste / ein Array, indem du einer Adresse eine ID (0,1,2,...) zuweist. Benutz dann die Adresse, um die ID herauszufinden.
|
Re: Client ausfindig machen
Öhm, das versteh ich nicht wirklich.
Dadurch weiß ich doch auch nicht welcher Client gesendet hat. |
Re: Client ausfindig machen
Zitat:
Wenn Du eine Zuordnung von IP+Port zu einer eindeutigen ID hast kannst Du soch sagen, daß Der Client, der auf Port xyz von IP abc sendet die ID 123 hat. Bis neulich ... |
Re: Client ausfindig machen
Könntest du da mal n konkretes Beispiel schreiben?
|
Re: Client ausfindig machen
Delphi-Quellcode:
type TIPID = record
adress: string; //oder integer ID: integer; end; type TIPIDArray = array of TIPID |
Re: Client ausfindig machen
Öhm und dann?
Wie siehts dann mit OnClientConnect und OnClientRead aus ? |
Re: Client ausfindig machen
Erstelle in der Klasse TForm1 eine Variable vom Typ TIPIDArray, und greife dann darauf zu. In OnClientConnect machst du (evtl.) das Array mit SetLength größer und hängst die IP mit der ID an, in OnClientRead durchsuchst du dann einfach das Array.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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 by Thomas Breitkreuz