Entwickler-Ecke
Internet / Netzwerk - gethostbyaddr Timeout setzen?
Martok - Sa 16.05.09 20:27
Titel: gethostbyaddr Timeout setzen?
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
Martok - 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.
ffgorcky - 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 - Sa 23.05.09 11:55
ffgorcky hat folgendes geschrieben : |
| 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:
Martok hat folgendes geschrieben : |
| Dazu gibts die Winsock-Funktion GetHostByAddr und das Feld h_name der zurückgegebenen Struktur. |
Zum Thema:
Martok hat folgendes geschrieben : |
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 [
http://msdn.microsoft.com/en-us/library/ms741519.aspx] 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!