AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdDNSResolver Problem - Connection reset by peer
Thema durchsuchen
Ansicht
Themen-Optionen

TIdDNSResolver Problem - Connection reset by peer

Ein Thema von bigkahoona · begonnen am 3. Mai 2008 · letzter Beitrag vom 4. Mai 2008
Antwort Antwort
bigkahoona

Registriert seit: 14. Apr 2008
Ort: Wiesbaden
8 Beiträge
 
#1

TIdDNSResolver Problem - Connection reset by peer

  Alt 3. Mai 2008, 10:36
Hi Leute,

ich habe ein Problem mit TIdDNSResolver. Ich will eine Liste von Domains aus einem StringGrid prüfen:

http://gavajda.de/pics/statuscheck.jpg

Das versuche ich mit folgendem Code:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  resolvecount: Integer;
begin
  with IdDNSResolver1 do
   begin
     ClearInternalQuery;
     IdDNSResolver1.Host := dns1; //dns1 wird über ein ini file geladen, momentan ein T-Online DNS Server
       for resolvecount := 1 to gridcount do //gridcount ist die Anzahl der Zeilen des StringGrids
        begin
         IdDNSResolver1.Resolve(StringGrid1.Cells[1,resolvecount]);
         StringGrid1.Cells[2,resolvecount] := QueryResult.Items[resolvecount].Name;
        end;
   end;
end;
Aber alles was ich bekomme ist ein

http://gavajda.de/pics/10054error.jpg

Kann mir wer auf die Sprünge helfen was ich falsch mache? Was fehlt?

Danke im Voraus.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: TIdDNSResolver Problem - Connection reset by peer

  Alt 3. Mai 2008, 14:06
Hi,

bei mir funktioniert es so:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  pAddr: PCardinal;
begin
  with DNSResolver do
  begin
    Active := True;
    QueryRecords := [qtA];
    Resolve('www.delphipraxis.net');
    pAddr := @QueryResult.Items[0].RData[1];
    Active := False;
    ShowMessage(IpStr(pAddr^));
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
bigkahoona

Registriert seit: 14. Apr 2008
Ort: Wiesbaden
8 Beiträge
 
#3

Re: TIdDNSResolver Problem - Connection reset by peer

  Alt 3. Mai 2008, 14:35
Danke für deine Antwort.
Bei mir ergibt dein Code 1:1 übernommen allerdings Fehler.
Wenn ich ihn abändere gibt das
Delphi-Quellcode:
var
  pAddr: PCardinal;
begin
  with IdDNSResolver1 do
  begin
    QueryType := [qtA];
    Resolve('www.delphipraxis.net');
    pAddr := @QueryResult.Items[0].RData[1];
    ShowMessage(IpStr(pAddr^));
  end;
end;
ergibt:
Zitat:
[DCC Fehler] Unit2.pas(69): E2003 Undefinierter Bezeichner: 'IpStr'
Und wenn ich IpStr als String deklariere kriege ich ein
Zitat:
[DCC Fehler] Unit2.pas(70): E2066 Operator oder Semikolon fehlt
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: TIdDNSResolver Problem - Connection reset by peer

  Alt 3. Mai 2008, 17:58
Probiere es mal damit:

Delphi-Quellcode:
function IpStr(ip: Cardinal): string;
var
  a: LongRec absolute ip;
begin
  with a do
    Result := Format('%d.%d.%d.%d', [Bytes[0], Bytes[1], Bytes[2], Bytes[3]]);
end;
  Mit Zitat antworten Zitat
bigkahoona

Registriert seit: 14. Apr 2008
Ort: Wiesbaden
8 Beiträge
 
#5

Re: TIdDNSResolver Problem - Connection reset by peer

  Alt 4. Mai 2008, 08:33
Naja, irgendwie hat es ja schon am Anfang mehr oder weniger funktioniert "rauszufunken". Die Exception ist ja "Connection reset by peer" und auch F-Secure meldet, dass meine Anwendung eine Verbindung ins Internet aufbauen will. Die Änderungen die du vorschlägst sind aber clientseitige Formatierungsänderungen. Das wird mein "Connection reset by peer"-Problem aber nicht lösen, glaube ich.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: TIdDNSResolver Problem - Connection reset by peer

  Alt 4. Mai 2008, 09:17
Glauben heißt nicht zu wissen.

An deinem Code kann ich nichts verbessern, weil er unvollständig ist. Also habe ich dir ein Beispiel gegeben, welches "funktioniert". Meistens bemühe ich mich zwischen den Zeilen zu lesen. Dein Opener und auch deine Versuche die fehlende Funktion IpStr() durch eine String-Variable zu ersetzen, zeichnen ein für mich klares Bild deiner Delphi-Kenntnisse und auch mit DNS stehst du wohl nicht auf du und du. Hast du denn mein Code-Beispiel überhaupt mal ausprobiert? Was funktioniert denn nicht?

Freundliche Grüße
  Mit Zitat antworten Zitat
bigkahoona

Registriert seit: 14. Apr 2008
Ort: Wiesbaden
8 Beiträge
 
#7

Re: TIdDNSResolver Problem - Connection reset by peer

  Alt 4. Mai 2008, 21:02
Bitte entschuldige meine Unwissenheit. Wie du siehst ist dies mein achter Beitrag und ich habe auch keinen Hehl daraus gemacht, dass ich ein n00b bin. Ich habe nur höflich um einen Denkanstoss gebeten. Deinen Vorschlag habe ich umzusetzen versucht mit dem Ergebnis, dass ich Fehlermeldungen bei der Kompilierung hatte. Ich hab doch garnicht gesagt "Den Scheiß kannste behalten, schreib mir gefälligst funktionierenden fertigen Code!". Ich habe nur gesagt, dass das bei mir so nicht funktioniert. Ich habe das Netz hoch und runter abgesucht. Leider ist das eher schlecht dokumentiert. Ich such dann mal weiter. Danke trotzdem vielmals.

PS: Falls jemand weiß wo ich mehr Informationen dazu erhalte hilft mir auch ein Link dorthin.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: TIdDNSResolver Problem - Connection reset by peer

  Alt 4. Mai 2008, 23:13
Unwissenheit ist keine Schande, da sitzen wir alle im selben Boot.

Mit der von mir nachgelieferten Funktion IPStr() müsstest du meinen Beispiel-Code eigentlich zum Laufen bringen.

Wo hakt es denn noch?
  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 18:48 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