AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdTCPclient hängt sich auf
Thema durchsuchen
Ansicht
Themen-Optionen

TIdTCPclient hängt sich auf

Ein Thema von CReber · begonnen am 18. Dez 2004 · letzter Beitrag vom 20. Dez 2004
Antwort Antwort
Benutzerbild von CReber
CReber

Registriert seit: 26. Nov 2003
Ort: Berlin
343 Beiträge
 
Delphi 2006 Professional
 
#1

TIdTCPclient hängt sich auf

  Alt 18. Dez 2004, 15:27
Ich verstehe nicht warum sich nach der 11-ten IP immer die Applikation hängen bleibt. Kann mir jemand helfen? Habe die Vermutung das der Port sich irgendwie nicht freigibt aber ich weiß nicht was ich da anders machen soll.

Delphi-Quellcode:
  for i := 0 to 255 do begin
    Client := TIdTCPClient.Create(nil);
    Client.Port := 2306;
    Client.Host := ar[i];
    try
      Client.Connect(500);
    except
      on e : Exception do begin
        Client.Disconnect;
        FreeAndNil(Client);
    end;
  end;
Christian Reber
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: TIdTCPclient hängt sich auf

  Alt 18. Dez 2004, 17:10
Es wäre viel sinnvoller, das Objekt einmal zu erzeugen und dann immer mit connect und disconnent zu arbeiten ...

Vielleicht löst das auch schon dein Problem ...
  Mit Zitat antworten Zitat
Benutzerbild von CReber
CReber

Registriert seit: 26. Nov 2003
Ort: Berlin
343 Beiträge
 
Delphi 2006 Professional
 
#3

Re: TIdTCPclient hängt sich auf

  Alt 18. Dez 2004, 17:40
hat auch nichts gebracht ;/ auch kein try finally... da muss irgendwas grundlegend falsch sein

EDIT:

Ich habe die Lösung gefunden ! Dank dem Timeout von 500 ms ist das jedes mal abgestürzt... Wenn ich da ein Delay von >500 ms einbaue funktioniert es !
Christian Reber
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: TIdTCPclient hängt sich auf

  Alt 19. Dez 2004, 12:07
Zitat:
Ich habe die Lösung gefunden ! Dank dem Timeout von 500 ms ist das jedes mal abgestürzt... Wenn ich da ein Delay von >500 ms einbaue funktioniert es !

Ich habe nämlich grad das gleiche Problem, aber es geht trotzdem nicht ...

Bei folgendem Sourcecode bleibt der Scanner einfach irgendwo stehen (so bei 15 oder so ...) und macht nicht weiter ...
Delphi-Quellcode:
  TScanner = class (TThread)
  public
    ShowStatus: Boolean;
    procedure Execute; override;
  private
    PortOpen: Boolean;
    ScanHost: Byte;
    procedure VCL_State;
    procedure VCL_Add;
  end;

var
  Form1: TForm1;
  Host: Byte = 0;

implementation

{$R *.dfm}

procedure TScanner.Execute;
var
 TCPClient: TIdTCPClient;
begin
 TCPClient := TIdTCPClient.Create(nil);

 while (Host < 254) AND (not Terminated) do
 begin
  inc (Host);
  ScanHost := Host;
  if ShowStatus then synchronize (VCL_State);
  TCPClient.Host := '192.168.0.' + IntToStr (ScanHost);
  TCPClient.Port := 80;

  try
   TCPClient.Connect(1000);
   PortOpen := TRUE;
  except
    PortOpen := FALSE;
  end;
  if TCPClient.Connected then TCPClient.Disconnect;
  synchronize (VCL_Add);
 end;
end;

procedure TScanner.VCL_State;
begin
 Form1.ProgressBar1.StepIt;
 Form1.Label2.Caption := IntToStr(ScanHost);
end;

procedure TScanner.VCL_Add;
begin
 if PortOpen then Form1.ListBox1.Items.Add('192.168.0.' + inttostr (ScanHost))
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 with TScanner.Create(TRUE) do
 begin
  FreeOnTerminate := TRUE;
  ShowStatus := TRUE;
  Resume;
 end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: TIdTCPclient hängt sich auf

  Alt 20. Dez 2004, 15:21
*PUSH-Button allerdringestens brauche*
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:04 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