Einzelnen Beitrag anzeigen

Loni

Registriert seit: 31. Mär 2007
77 Beiträge
 
#1

Indy Client bekommt keine Nachrichten vom Server

  Alt 7. Jul 2007, 13:27
Hallo ich versuche über WriteLn einen String an alle verbunden Clients zu schicken aber es bekommt kein Client die Nachricht
hier mal die wichtigen Teile der Quelltexte

Server:
Delphi-Quellcode:
procedure TFKyteServer.IdTCPServer1Execute(AContext: TIdContext);
//..
//..
   if User<>'then
      begin
      if vleUsers.FindRow(User,iRow) then
        begin
        sPwd:=vleUsers.Values[User];
        if Passwort=sPwd then
          begin
            if not vleIpAdressen.FindRow(IP,iRow) then
              begin
                //Verbindung erlauben
                LiBEreignisse.Items.Add((TimeToStr(now))+': <'+(User)+'> hat sich angemeldet');
                vleIPAdressen.InsertRow(IP,User,true);
                Clientanzahl:=vleIPAdressen.RowCount;
                //alle User benachritigen
                for i := 0 to Clientanzahl - 1 do //
                begin //Es geht un diesen Teil
                AContext.Connection.IOHandler.Destination:=vleIPAdressen.Keys[i]; //
                AContext.Connection.IOHandler.WriteLn('/AddKontaktliste'+','+User); //
                end;
              end
              else
                begin
                //Verbindung verhindern
                AContext.Connection.DisconnectNotifyPeer;
                end;
          end
Client:
Delphi-Quellcode:
procedure TFKyteClient.IdTCPClient1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
var
  Line, Command, User: String;
begin
  Line := IdTCPClient1.IOHandler.ReadLn;
  Command:= Copy(Line, 1, Pos('/', Line)-1);
  if Command = 'AddKontaktlistethen
    begin
    User:= Copy(Line, Pos('/', Line)+1, (Pos(',', Line))-(Pos('/', Line)+1));
    LMDImageLiBKontaktliste.Items.Add(User);
    end;
end;
  Mit Zitat antworten Zitat