GoLang: net.LookupHost gibt doppelte IP zurück

WBOY
Freigeben: 2024-02-09 13:00:19
nach vorne
418 Leute haben es durchsucht

GoLang:net.LookupHost 返回重复的 ip

Der PHP-Editor Xigua stellt Ihnen heute eine Funktion net.LookupHost in der Go-Sprache vor. Diese Funktion kann bei der Hostnamensauflösung doppelte IP-Adressen zurückgeben. In praktischen Anwendungen kann dies zu Problemen führen, z. B. zu mehrmaligem Herstellen einer Verbindung zum gleichen Server. Daher müssen wir die Ursache und Lösung dieses Problems verstehen, um die Richtigkeit und Stabilität des Codes sicherzustellen. Im folgenden Artikel werden wir dieses Problem im Detail analysieren und entsprechende Lösungen anbieten. bleiben Sie dran!

Frageninhalt

Ich versuche, net.lookuphost auszuführen, um die IP-Adresse des Computers abzurufen, auf dem mein Code ausgeführt wird. Es funktioniert auf den meisten Computern, aber auf einigen gibt es einen Slice mit zwei Einträgen zurück: der richtigen IP und dem doppelten Eintrag mit derselben IP.

Ich habe versucht, nslookup auf dem Host auszuführen, aber es wurde nur ein Eintrag zurückgegeben.

Code zur Frage hinzufügen -

hostname, _ := os.Hostname()

    ips, err := net.LookupHost(hostname)

    if err != nil {
            fmt.Printf("%d\n", err.Error())
    }

    fmt.Printf("Hello, 世界 %#v \n", ips)

    ips2, err := net.LookupIP(hostname)

    if err != nil {
            fmt.Printf("%d\n", err.Error())
    }

    fmt.Printf("Hello, 世界 %#v \n", ips2)
Nach dem Login kopieren

Ich habe erwartet, dass net.lookuphost nur einen Eintrag in der Antwort liefert, aber es gab zwei identische Einträge in der Antwort.

Lösung

Sieht nach einem Problem mit der DNS-Auflösung aus. Wenn es auf anderen Servern funktioniert, überprüfen Sie die Datei /etc/hosts.

Das System fragt zunächst die Datei /etc/hosts und dann den DNS-Server ab.

Quelle: https://debian-handbook.info /browse/stable/sect.hostname-name-service.html

Das obige ist der detaillierte Inhalt vonGoLang: net.LookupHost gibt doppelte IP zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!