Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi indy tcp connection 1.uppt was 2. macht nichts warum? (https://www.delphipraxis.net/75958-indy-tcp-connection-1-uppt-2-macht-nichts-warum.html)

gandime 27. Aug 2006 23:06


indy tcp connection 1.uppt was 2. macht nichts warum?
 
hi,
ich hab malwieder ein problem und zwar:

ich eine prog mit 2 tcp clienten
der erste schickt dateien von pc a nach pc b
der zweite sollte wärend dessen fragen ob es neue daten gibt

und da is das prob:

wenn ich mit dem mit dem ersten tcp client daten verschicke macht der zweite nichts mehr warum?

1. tcp client
Delphi-Quellcode:
procedure TForm1.ti_dlTimer(Sender: TObject);
var
  FStream:tfilestream;
begin
    FStream := TFileStream.Create('la.rar', fmOpenRead);
    IdTCPClient_filemanager.Connect;
    try
      IdTCPClient_filemanager.IOHandler.Write(Fstream,0,true);
    finally
      IdTCPClient_filemanager.Disconnect;
    end;
    FreeAndNil(FStream);
    ti_dl.enabled:=false;
end;
2.tcp client
Delphi-Quellcode:
procedure TForm1.ti_askTimer(Sender: TObject);
begin
    IdTCPClient_respnse.IOHandler.writeln('was_neues?');
    line:=IdTCPClient_respnse.IOHandler.ReadLn;
    if (line='ja') and (ti_dl.enabled=false) then
    begin
      ti_dl.enabled:=true;
      IdTCPClient_respnse.IOHandler.writeln('ok');
    end
    else
    begin
      IdTCPClient_respnse.IOHandler.writeln('besetzt');
    end;  
end;

Harry M. 27. Aug 2006 23:10

Re: indy tcp connection 1.uppt was 2. macht nichts warum?
 
Ich bin nicht sicher, aber es könnte am IOHander liegen. Versuch diesen mal durch Socket bzw AThread zu ersetzten.

gandime 28. Aug 2006 22:35

Re: indy tcp connection 1.uppt was 2. macht nichts warum?
 
macht keinen unterschied

Harry M. 29. Aug 2006 08:43

Re: indy tcp connection 1.uppt was 2. macht nichts warum?
 
Dann hilft nur Debuggen auf beiden Seiten.

Ein gutes Demo wie man mit den Indy Dateien verschickt, Empfängt und dabei auch noch Nachrichten übermittelt, findes Du hier http://www.h-soft.info/delphi/

gandime 29. Aug 2006 17:39

Re: indy tcp connection 1.uppt was 2. macht nichts warum?
 
das tutorial kenne ich schon aber es is schon etwas veraltet und geht nicht mehr mit indy 10
ich hab es auch umgeschrieben geht aber tzotzdem nicht mit dem 2 verbindungen

Harry M. 30. Aug 2006 08:45

Re: indy tcp connection 1.uppt was 2. macht nichts warum?
 
Zitat:

Zitat von Harry M.
Dann hilft nur Debuggen auf beiden Seiten.

:wink:

gandime 2. Sep 2006 17:14

Re: indy tcp connection 1.uppt was 2. macht nichts warum?
 
so
was soll ich daran debuggen? ich finde nichts!

client:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IdTCPClient_msg.Connect;
  IdTCPClient_send.Connect;
  ti_msg.enabled:=true;
end;

procedure TForm1.ti_msgTimer(Sender: TObject);
begin
  ti_send.enabled:=true;
  IdTCPClient_msg.socket.WriteLn('ja');
end;

procedure TForm1.ti_sendTimer(Sender: TObject);
var
  FStream: TFileStream;
begin
  ti_send.enabled:=false;
  FStream := TFileStream.Create('C:\b.avi', fmOpenRead);
  try
    IdTCPClient_msg.socket.WriteLn('jetzt');
    IdTCPClient_send.socket.Write(Fstream,0,true);
    IdTCPClient_msg.socket.WriteLn('ende');
  finally
    IdTCPClient_send.Disconnect;
  end;
  FreeAndNil(FStream);
  ti_msg.enabled:=false;
  ti_send.enabled:=false;
  IdTCPClient_msg.Disconnect;
end;
server:
Delphi-Quellcode:
procedure TForm1.IdTCPServer_getExecute(AContext: TIdContext);
var
  FStream:tfilestream;
begin
  FStream := TFileStream.Create('C:\ka.avi', fmCreate);
  try
    AContext.connection.socket.ReadStream(fstream);
  finally
  end;
  FreeAndNil(FStream);
end;

procedure TForm1.IdTCPServer_msgExecute(AContext: TIdContext);
begin
  try
    while (AContext.Connection.Connected=true) do
    begin
      memo1.Lines.add(AContext.Connection.socket.ReadLn);

    end;
  except

  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz