Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Wie krieg ich die Nummer der Verbindung des Clients raus? (https://www.delphipraxis.net/90042-wie-krieg-ich-die-nummer-der-verbindung-des-clients-raus.html)

.chicken 10. Apr 2007 21:19


Wie krieg ich die Nummer der Verbindung des Clients raus?
 
Also hoffe der Titel beschreibt meine Frage einigermaßén sinnvoll!
Ich möchte auf ClientSeite rauskriegen der wievielte Client er ist der zum Server verbunden ist!
Ich benutze TServer und TClientSocket-Komponenten.

Um das nochmal zu verdeutlichen, der Server kann ja mit folgender Zeile Nachrichten an dden Client schicken.
Delphi-Quellcode:
Server.Socket.Connections[i].SendText('bla');
Ich möchte nun auf Seite des Clients rausfinden, welchen Wert das i haben müsste, damit die Nachricht an ihn geht.
Hoffe ihr versteht was ich meine!

ConstantGardener 10. Apr 2007 22:37

Re: Wie krieg ich die Nummer der Verbindung des Clients raus
 
Hallo .Hühnchen

sende dem Client die Nummer doch beim verbinden zu !?

also etwa
Delphi-Quellcode:

Server.Socket.Connections[i].SendText('ClientNummer='+IntToStr(i));
oder hab ich da was falsch verstanden ???

.chicken 10. Apr 2007 22:42

Re: Wie krieg ich die Nummer der Verbindung des Clients raus
 
Ne, das hab ich bisher auch so gemacht, aber dachte da gibts vll ne bessere/schönere Möglichkeit. Haette ja sein koennen, das der Client die Nummer weiss ;-)

Ok dankeschoen!

Muetze1 10. Apr 2007 23:16

Re: Wie krieg ich die Nummer der Verbindung des Clients raus
 
Was ich bei dem allen nicht verstehe: wozu sollte den Client diese Zahl interessieren? Das interessiert den Client doch nicht die Bohne. Schon allein da sich diese Nummer mit jedem neuen Client bzw. geschlossenen Client ändert, schliesslich rutschen die Clients nach in dem Connections[] Array. Von daher: Wozu braucht der Client diese Nummer?

.chicken 10. Apr 2007 23:30

Re: Wie krieg ich die Nummer der Verbindung des Clients raus
 
Will damit bei einem rundenbasierten Spiel ueberpruefen, ob die Nummer des aktiven Spielers mit der Nummer der Verbindung übereinstimmt ;-)

Muetze1 10. Apr 2007 23:34

Re: Wie krieg ich die Nummer der Verbindung des Clients raus
 
Ja - und?

Ich sehe das so:

1. Client sind die Spieler
2. Server hat die Game-Verwaltung
3. Server schickt Nachricht an den Client, welcher aktiv ist und machen darf. Wenn der Client fertig ist, schickt er sein Ergebnis zurück (oder schon zwischendurch und am Ende nur Bestätigung der Runde).
4. Jeder Client der keine Anfrage etwas zu machen bekommt, ist nicht aktiv. Die Änderung des aktiven Clients wird einfach an die anderen als Aktionen weitergeleitet. Damit der aktive Client die nicht bekommt, kannst du einfach Connections[] und den übergeben Socket vergleichen und nur bei Ungleichheit versenden.

Somit sehe ich immernoch keinen Grund, warum der Client diese Nummer kennen muss. Wo steckt mein Denkfehler?

.chicken 11. Apr 2007 10:21

Re: Wie krieg ich die Nummer der Verbindung des Clients raus
 
so kann man natuerlich auch machen


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