Einzelnen Beitrag anzeigen

DelphiPeter

Registriert seit: 21. Dez 2007
Ort: Iserlohn
198 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Indy TCP Client Server - Verständnisproblem

  Alt 15. Sep 2009, 17:08
So Leute, nun habe ich es versucht mal so umzusetzen.

Meine TClientInfo Klasse sieht nun so aus
Delphi-Quellcode:
  TClientInfo = class(TObject)
    Thread: TIdContext;
    Email: string;
    GUID: string;
    Nickname: string;
    IP: string;
    LoggedIn: Boolean;
    LogonTime: string;
    Send: boolean;
    SendMode: String;
    SendTo: string;
  end;

Jetzt kommt eine Anfrage von AContext im OnExecute Ereignis. Die Nachricht soll an eine bestimmte E-Mail Adresse gehen, welche ja in TClientInfo erfasst wurde. Alle Clients die sich verbinden, werden in eine Objektliste FCLients gespeichert.

Wie sende ich nun eine Nachricht an den Client mit einer bestimmten E-Mail Adresse?

Habe es mal so versucht..
Delphi-Quellcode:
...
                found := false;
                for I := 0 to FCLients.Count - 1 do begin
                  BClient := TClientInfo(FClients.Items[I]);
                  if BClient.Email = request_param2 then begin
                    // Nachricht senden...
                    found := true;
                    BClient.Thread.Connection.IOHandler.WriteLn('RECV TEXT '+ request_param3);
                  end;
                end;
...

So richtig funktionieren tut das aber leider nicht. Die erste Nachricht wird gesendet... und dann passiert nur noch Kuddelmuddel. Der eine Client sendet was und empfängt es selber, dann bekommt ein anderer Client die Meldungen vom Server zurück. Verstehe nur noch Bahnhof.
Peter Majewski
  Mit Zitat antworten Zitat