Ü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:
somit bekommen alle Clients diese Nachricht.
for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
ServerSocket1.Socket.Connections[i].SendText(MyMessage); 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: |
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 |
AW: Über Socketverbindung einen Client ansenden
Zitat:
also so was wie:
Delphi-Quellcode:
Hat irgendjemand was einfacheres.
ServerSocket1(IP).sendText(Nachricht);
//das funzt nicht ich weis und wie macht man das dann wenn man zweit gleiche ip`s hat? |
AW: Über Socketverbindung einen Client ansenden
Zahl mir was, dann kaue ich dir das vor!
Einfacher kanns nicht werden -.-' |
AW: Über Socketverbindung einen Client ansenden
Dann erweitere dein Klasse um eine entsprechende Methode und schon geht es einfacher.
|
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: |
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 |
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!
|
AW: Über Socketverbindung einen Client ansenden
Ich habe das geschrieben: (funktioniert)
Delphi-Quellcode:
Aus diesem Artikel leicht geändert.
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; Was sagt ihr da zu??? |
AW: Über Socketverbindung einen Client ansenden
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr. |
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