Heim > Backend-Entwicklung > Golang > Wie starte ich den Browser, nachdem der Server mit dem Abhören beginnt?

Wie starte ich den Browser, nachdem der Server mit dem Abhören beginnt?

王林
Freigeben: 2024-02-08 22:03:32
nach vorne
874 Leute haben es durchsucht

Wie starte ich den Browser, nachdem der Server mit dem Abhören beginnt?

php-Editor Strawberry zeigt Ihnen, wie Sie den Browser starten, nachdem der Server mit dem Abhören beginnt. Nachdem wir den Server gestartet und den angegebenen Port abgehört haben, können wir Code schreiben, um den Browser automatisch zu starten. Es gibt zwei spezifische Implementierungsmethoden: Eine besteht darin, den Standardbrowser durch Aufrufen von Systembefehlen zu öffnen, und die andere darin, das Remote-Debugging-Protokoll des Browsers zu verwenden. Unabhängig davon, welche Methode verwendet wird, müssen im Code entsprechende Konfigurationen und Aufrufe vorgenommen werden, um die Funktion des automatischen Öffnens des Browsers zu realisieren.

Frageninhalt

In go, wie starte ich den Browser, nachdem der Server mit dem Abhören begonnen hat?

Am besten ist der einfachste Weg.

Mein Code ist bisher sehr einfach:

package main

import (  
    // Standard library packages
    "fmt"
    "net/http"
    "github.com/skratchdot/open-golang/open"
    // Third party packages
    "github.com/julienschmidt/httprouter"
)


// go get github.com/toqueteos/webbrowser

func main() {  
    // Instantiate a new router
    r := httprouter.New()

    // Add a handler on /test
    r.GET("/test", func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
        // Simply write some test data for now
        fmt.Fprint(w, "Welcome!\n")
    })
    
    //open.Run("https://google.com/")
     
    // open.Start("https://google.com")

    // http://127.0.0.1:3000/test
    // Fire up the server
    http.ListenAndServe("localhost:3000", r)
    fmt.Println("ListenAndServe is blocking")  
    open.RunWith("http://localhost:3000/test", "firefox")  
    fmt.Println("Done")
}
Nach dem Login kopieren

Workaround

Öffnen Sie den Listener, starten Sie den Browser und betreten Sie dann die Serverschleife:

l, err := net.Listen("tcp", "localhost:3000")
if err != nil {
    log.Fatal(err)
}

// The browser can connect now because the listening socket is open.

err := open.Start("http://localhost:3000/test")
if err != nil {
     log.Println(err)
}

// Start the blocking server loop.

log.Fatal(http.Serve(l, r))
Nach dem Login kopieren

Eine Umfrage ist nicht erforderlich, wie in einer anderen Antwort gezeigt. Wenn der Listening-Socket vor dem Start des Browsers geöffnet ist, stellt der Browser eine Verbindung her.

listenandserve ist eine praktische Funktion, die einen Socket öffnet und Serve aufruft. Der Code in dieser Antwort teilt diese Schritte auf, sodass der Browser geöffnet werden kann, nachdem das Abhören gestartet wurde, aber bevor die Bereitstellung blockiert wird.

Das obige ist der detaillierte Inhalt vonWie starte ich den Browser, nachdem der Server mit dem Abhören beginnt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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