Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Client ausfindig machen (https://www.delphipraxis.net/46843-client-ausfindig-machen.html)

Rastaman 1. Jun 2005 15:00


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:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  ShowMessage('Nachricht von Client Nr.' + IntToStr(?) + ' empfangen');
end;
Was muss ich für das ? einsetzen??
Danke schonmal.

freak24 1. Jun 2005 15:10

Re: Client ausfindig machen
 
Zitat:

Zitat von Gerrit89
Was muss ich für das ? einsetzen?

Also du kannst das Handle anzeigen lassen
Delphi-Quellcode:
Socket.SocketHandle
Möglich wäre auch die Adresse/Hostname
Delphi-Quellcode:
Socket.RemoteAddress
Socket.RemoteHost
Ich hoffe du kannst damit was anfangen.

Rastaman 1. Jun 2005 15:41

Re: Client ausfindig machen
 
Nein.
Wenn 2 Clienten verbunden sind muss die zahl für das ? entweder 0 oder 1 sein.

Phistev 1. Jun 2005 15:56

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.

Rastaman 1. Jun 2005 15:59

Re: Client ausfindig machen
 
Öhm, das versteh ich nicht wirklich.
Dadurch weiß ich doch auch nicht welcher Client gesendet hat.

Grendel 1. Jun 2005 16:04

Re: Client ausfindig machen
 
Zitat:

Zitat von Gerrit89
Dadurch weiß ich doch auch nicht welcher Client gesendet hat.

Ja aber sicher doch.
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 ...

Rastaman 1. Jun 2005 16:07

Re: Client ausfindig machen
 
Könntest du da mal n konkretes Beispiel schreiben?

Phistev 1. Jun 2005 16:12

Re: Client ausfindig machen
 
Delphi-Quellcode:
type TIPID = record
  adress: string; //oder integer
  ID: integer;
end;
type TIPIDArray = array of TIPID

Rastaman 1. Jun 2005 16:32

Re: Client ausfindig machen
 
Öhm und dann?
Wie siehts dann mit OnClientConnect und OnClientRead aus ?

Phistev 1. Jun 2005 16:37

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 16:12 Uhr.
Seite 1 von 2  1 2      

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