Heim  >  Artikel  >  Backend-Entwicklung  >  GoLang: net.LookupHost gibt doppelte IP zurück

GoLang: net.LookupHost gibt doppelte IP zurück

WBOY
WBOYnach vorne
2024-02-09 13:00:19419Durchsuche

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)

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen