Autor Beitrag
Wichtelmann
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 15.11.03 15:58 
HiHi!

Ich suche verzweifelt nach einem Beispiel, wie ich den Timeout des TCPClients verkürzen kann. Ich hab schon des öfteren gelesen, dass man dazu den System-Timer verwenden kann, wirklich verstanden hab ich das nicht.

Der Timer kann mir zwar sagen, dass eine bestimmte Zeit vergangen ist, was mir aber nicht hilft, den Connect auch sauber zu beenden.

Ich hab folgendes Beispielprogramm gebastelt, vielleicht kann mir das jemand so erweitern, dass der Connect nen Timeout von vielleicht 100ms bekommt...


Bin aber auch über jeden anderen Tip sehr froh, der mir hilft da weiter zu kommen.

VG,

Wichtelmann


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
unit IdConnectionChecker;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdException;

type
  TConnectionChecker = class(TForm)
    LogWindow: TListBox;
    TCPClient: TIdTCPClient;
    TCPTimer: TTimer;
    CheckConnection: TButton;
    ClientAddress: TEdit;
    ClientPort: TEdit;
    ClientAddressLabel: TLabel;
    ClientPortLabel: TLabel;
    procedure CheckConnectionClick(Sender: TObject);
  end;

var
  ConnectionChecker: TConnectionChecker;

implementation

{$R *.dfm}

procedure TConnectionChecker.CheckConnectionClick(Sender: TObject);
begin
  TCPClient.Host := ClientAddress.Text;
  TCPClient.Port := StrToInt(ClientPort.Text);
  try
    TCPClient.Connect;
    TCPClient.Disconnect;
    LogWindow.Items.Add(concat(ClientAddress.Text,': Connection check successful...'));
  except
    on E: EIdSocketError do
      LogWindow.Items.Add(concat(ClientAddress.Text,': ',E.ClassName,' - ',StringReplace(E.Message,#13#10,'<EOL>',[rfReplaceAll])));
  end;
end;

end.
Wichtelmann Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 18.11.03 15:29 
Hi all...

Nachdem ich die neuere Version 9 installiert hatte, war alles easy - da is des mit drin...

VG,

Wichtelmann....