AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Prism Mit IdTCPServer(Indy10) Daten an anderen Client weiterleiten

Mit IdTCPServer(Indy10) Daten an anderen Client weiterleiten

Ein Thema von Sharky2005 · begonnen am 7. Jan 2006 · letzter Beitrag vom 13. Jan 2006
Antwort Antwort
Sharky2005

Registriert seit: 15. Nov 2005
2 Beiträge
 
#1

Mit IdTCPServer(Indy10) Daten an anderen Client weiterleiten

  Alt 7. Jan 2006, 20:14
Hallo zusammen,
ich teste gerade die IdTCPServer Komponente (Indy10)!
Habe mir also Beispiele gesucht, wie man diese Komponente nutzt und
auch ein paar gefunden. Die normale Server <-> Clientanwendung funktioniert
so wie sie soll. Jetzt aber habe ich versucht mit dem Server eine
Nachricht direkt an die Client zu versenden (um die empfangenen Daten
direkt an die anderen Clients weiter zu leiten). Wieder nach Beispielen
gesucht und auch gefunden, aber ich konnte folgende Zeile nicht benutzten

TIdContext(List[i]).IOHander.WriteLn('sadfsd');

Ich habe auch noch alles mögliche versucht, dennoch ohne Erfolg.
Bitte sagt mir wie ich es schaffe das der Server die Daten an einen anderen Client weiter
leitet?





Delphi-Quellcode:
procedure TForm1.IdTCPServerExecute(AContext: TIdContext);
var
  connected: boolean;
  line: string;
  connectionNumber: integer;
  List : TList;
  i : Integer;
begin
  connectionNumber:= 0;
  while (ledConnected[connectionNumber].Brush.Color = clOn) do inc(connectionNumber);
  ledConnected[connectionNumber].Brush.Color:= clOn;
  AContext.Connection.IOHandler.WriteLn('Hello');

  List := IdTcpServer.Contexts.LockList;
   for i := 0 to List.Count -1 do
     //TIdContext(List[i]).IOHander.WriteLn('sadfsd');
  IdTcpServer.Contexts.UnlockList;

  connected:= true;
  while connected do begin
    try
      line:= AContext.Connection.IOHandler.ReadLn;
      AContext.Connection.IOHandler.WriteLn('>>'+line);
      memo1.Lines.add(format('[%d] %s',[connectionNumber,line]));
      if (ansiUpperCase(line) = 'EXIT') then begin
        AContext.Connection.Disconnect;
        connected:= false;
      end;
    except
      connected:= false;
    end;
  end;
  ledConnected[connectionNumber].Brush.Color:= clOff; { show that we've disconnected [!] }
end;
  Mit Zitat antworten Zitat
th_bone

Registriert seit: 16. Jun 2004
172 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Mit IdTCPServer(Indy10) Daten an anderen Client weiterle

  Alt 13. Jan 2006, 10:57
Hi,

also wenn es als direkte Antwort gedacht ist müsste es so funktionieren:

 Acontext.Connection.IOHandler.WriteLn('sadfsd'); im Client muß dann ein timer sein der regelmäßig nachschaut ob eine
Nachricht vom Server vorhanden ist

genauer siehe Foum eintrag

ansonsten wenn Du die nachricht an einen bestimmten client schicken willst
müsste es in etwa so aussehen

Delphi-Quellcode:
// i= Clientnr
TIdContext(List.Items[i]).Connection.iohandler.WriteLn('sadfsd');
tschö

Ralf
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:38 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