Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Über Socketverbindung einen Client ansenden (https://www.delphipraxis.net/159066-ueber-socketverbindung-einen-client-ansenden.html)

TDR 12. Mär 2011 17:57

Über Socketverbindung einen Client ansenden
 
Hallo liebe Delphianer,:hi:

Ich habe einen Server mit dem mehrere Clients Verbunden sind.

Bislang sende ich wie folgt den Clients Nachrichten.
Delphi-Quellcode:
for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
    ServerSocket1.Socket.Connections[i].SendText(MyMessage);
somit bekommen alle Clients diese Nachricht.

Nun möchte ich aber nur einem bestimmten Client,von dem ich die IP-Adresse habe, eine Nachricht senden.
Weiß jemand wie das geht???:?::gruebel:

Freu mich über Antworten:thumb::wink:

Aphton 12. Mär 2011 18:50

AW: Über Socketverbindung einen Client ansenden
 
- Gehe alle Clients mit einer Schleife durch, bis du den entsprechenden gefunden hast - die Bedingung: Sind die IPs gleich?...
- Sende die Nachricht diesem Client

TDR 12. Mär 2011 21:12

AW: Über Socketverbindung einen Client ansenden
 
Zitat:

Zitat von Aphton (Beitrag 1087967)
- Gehe alle Clients mit einer Schleife durch, bis du den entsprechenden gefunden hast - die Bedingung: Sind die IPs gleich?...
- Sende die Nachricht diesem Client

Gibt es dar wirklich keine andere Lösung:( :shock: :?

also so was wie:
Delphi-Quellcode:
ServerSocket1(IP).sendText(Nachricht);
//das funzt nicht ich weis
Hat irgendjemand was einfacheres.

und wie macht man das dann wenn man zweit gleiche ip`s hat?

Aphton 12. Mär 2011 22:47

AW: Über Socketverbindung einen Client ansenden
 
Zahl mir was, dann kaue ich dir das vor!
Einfacher kanns nicht werden -.-'

Luckie 12. Mär 2011 22:50

AW: Über Socketverbindung einen Client ansenden
 
Dann erweitere dein Klasse um eine entsprechende Methode und schon geht es einfacher.

TDR 13. Mär 2011 09:44

AW: Über Socketverbindung einen Client ansenden
 
hej,
das war ja nur eine Frage.
Mir ist klar wie das geht. Ich wollte nur wissen ob es einfacher geht.

Aber wenn das nicht einfacher geht, werde ich es wohl so machen müssen.:roll::wall:

Allen vielen dank für die Hilfe.:thumb:

Sir Rufo 13. Mär 2011 09:53

AW: Über Socketverbindung einen Client ansenden
 
Nur so am Rande bemerkt:

Die reine IP-Adresse ist kein eindeutiges Merkmal für einen Client, sondern nur die Kombination aus IP und Port

Aphton 13. Mär 2011 10:42

AW: Über Socketverbindung einen Client ansenden
 
Stimmt auch wieder. Es können ja mehrere Rechner von einem lokalen Netz an denselben (nicht lokalen) Server eine Verbindung aufbauen. Der Server sieht dann bei beiden Clients dieselbe IP, da sich beide hinter demselben Router befinden!

TDR 13. Mär 2011 11:32

AW: Über Socketverbindung einen Client ansenden
 
Ich habe das geschrieben: (funktioniert)

Delphi-Quellcode:
var
scan : integer;
TempIP : String;
EIP : String; // EmpfängerIP
KMessage : String; //Message die gesendet werden soll
try
      for scan := 0 to ServerSocket1.Socket.ActiveConnections-1 do
      begin
        TempIP := ServerSocket1.Socket.Connections[scan].RemoteAddress;
        if (TempIP = EIP) then
                   ServerSocket1.Socket.Connections[scan].SendText( KMessage );
        end;
except
       Log.Lines.Add ('ERROR: Socksend method failed');
end;
Aus diesem Artikel leicht geändert.

Was sagt ihr da zu???

Aphton 13. Mär 2011 13:32

AW: Über Socketverbindung einen Client ansenden
 
Zitat:

Zitat von TDR (Beitrag 1088043)
Ich habe das geschrieben: (funktioniert)
(...)
Was sagt ihr da zu???

Ist oll'korrect so!


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