Autor Beitrag
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 16.05.09 20:27 
Hi!

Ich möchte eine reihe von IP-Adressen in Hostnamen auflösen. Dazu gibts die Winsock-Funktion GetHostByAddr und das Feld h_name der zurückgegebenen Struktur.

Wenn aber die Auflösung nicht möglich ist, vertrödelt das Ding ca 5 Sekunden und hat dann vermutlich einen Timeout.

Gibts irgend ne Möglichkeit diesen auf einen kleineren Wert zu setzen, oder alternativ eine andere Variante? Das DNS nach den IPs zu fragen funktioniert zwar, liefert aber tw. ganz andere Ergebnisse.

Wie immer schonmal Danke,
Sebastian

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Martok Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 17.05.09 19:14 
Keiner was?

Ich hätte da eine Idee mit einem Thread auf den dann gewartet wird... aber schön ist was anderes ;)
Außerdem müsste ich da dermaßen viel Synchronisations-Spielchen machen, dass das auch nicht grade einfach wird.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: Sa 23.05.09 11:36 
Es wäre recht schön, wenn Du Deine bisher verwendete Anweisung hier zeigst, damit wir wissen, was genau wir verbessern sollen/dürfen.
Also ich meine zumindest, dass es auch eine Möglichkeit gibt, abzufragen, ob ein Host mit dieser IP-Adresse überhaupt existiert, was Du dann vor der Abfrage nach dem Host-Namen machen könntest.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 23.05.09 11:55 
user profile iconffgorcky hat folgendes geschrieben Zum zitierten Posting springen:
Es wäre recht schön, wenn Du Deine bisher verwendete Anweisung hier zeigst, damit wir wissen, was genau wir verbessern sollen/dürfen.
Hat er doch geschrieben. :nixweiss:
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Dazu gibts die Winsock-Funktion GetHostByAddr und das Feld h_name der zurückgegebenen Struktur.


Zum Thema:
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Ich hätte da eine Idee mit einem Thread auf den dann gewartet wird... aber schön ist was anderes ;)
Außerdem müsste ich da dermaßen viel Synchronisations-Spielchen machen, dass das auch nicht grade einfach wird.
Ich würde die Funktion WSAAsyncGetHostByAddr empfehlen. Die gibt die Kontrolle direkt zurück und schickt dir eine Nachricht, wenn eine Antwort kommt.
So kannst du mehrere Aufrufe starten und ggf. nach einer gewissen kürzeren Zeit die Nachrichten ignorieren zum Beispiel.

Du übergibst da eine ID mit, anhand derer du dann die Antwort deiner Anfrage zuordnen kannst.
Martok Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 23.05.09 12:41 
Hat sich eh erledigt.
Das mit der Nachricht scheitert da dran, dass ich keinen MessageLoop hab ;)

Hat sich aber eh erledigt: delphi-forum.de/viewtopic.php?t=92331

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."